王國輝,趙鐵軍,李向榮
(陸軍裝甲兵學院 兵器工程系,北京 100072)
隨著裝甲裝備快速更新?lián)Q代,其組成和結(jié)構(gòu)更加復雜,技術(shù)資料數(shù)量急劇上升,又長期缺乏統(tǒng)一管理,信息制作標準不同造成信息之間交互性差,此外技術(shù)資料數(shù)量巨大造成存儲使用管理難、操作程序復雜、維修難度增加、人員培訓周期長等難題,迫切需要開發(fā)軟件代替?zhèn)鹘y(tǒng)的裝備保障方式[1],因此裝甲裝備開始研發(fā)交互式電子技術(shù)手冊(Interactive Electronic Technical Manual, IETM).IETM能有效解決以上問題,克服傳統(tǒng)技術(shù)資料的諸多弊端,給裝甲裝備使用、維修、管理、人員培訓等方面帶來巨大的效益。IETM的核心技術(shù)之一是數(shù)據(jù)庫技術(shù),建立裝甲裝備IETM數(shù)據(jù)庫管理、儲存數(shù)據(jù),能提高數(shù)據(jù)的利用率、共享性和互操作性。裝甲裝備IETM數(shù)據(jù)庫系統(tǒng)是根據(jù)部隊任務和需求,創(chuàng)建規(guī)范化的數(shù)據(jù)結(jié)構(gòu),形成集成數(shù)據(jù)環(huán)境,設(shè)計數(shù)據(jù)的組織形式、模型、結(jié)構(gòu),使官兵能準確、高效地使用數(shù)據(jù)。
數(shù)據(jù)庫系統(tǒng)是一個集存儲介質(zhì)、管理、處理對象于一體的軟件,用于存儲、管理、維護數(shù)據(jù)。數(shù)據(jù)庫系統(tǒng)由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(database management system, DBMS)、數(shù)據(jù)庫應用系統(tǒng)、硬件、人員組成。數(shù)據(jù)庫是存儲在磁盤上的各種數(shù)據(jù)模型集合,數(shù)據(jù)庫通過數(shù)據(jù)之間的聯(lián)系對數(shù)據(jù)進行儲存[2]。DBMS提供數(shù)據(jù)庫操作環(huán)境,通過DBMS對數(shù)據(jù)進行定義、查詢、更新等操作,DBMS保證了數(shù)據(jù)的安全性、完整性。數(shù)據(jù)庫應用系統(tǒng)是在數(shù)據(jù)庫基礎(chǔ)上研發(fā)的特定軟件。硬件包括存儲數(shù)據(jù)磁盤、存儲和運行DBMS的CPU、內(nèi)存。人員包括數(shù)據(jù)庫管理員、用戶、程序員。
部隊根據(jù)任務需求提出裝甲裝備IETM應該具備的功能、性能,由公司研發(fā)裝甲裝備IETM,開發(fā)出的IETM經(jīng)過部隊試用合格后方可配發(fā)部隊,IETM后期維護工作由公司完成。使用過程中,由工程師擔任IETM數(shù)據(jù)庫管理員,用戶是經(jīng)過工程師授權(quán)的官兵,程序員由部隊的工程師擔任。裝甲裝備IETM數(shù)據(jù)庫系統(tǒng)采用關(guān)系數(shù)據(jù)庫,為裝甲裝備數(shù)據(jù)提供存儲、檢索、維護的功能,保證了數(shù)據(jù)的唯一性和完整性。關(guān)系數(shù)據(jù)庫支持數(shù)據(jù)資料出版,能把同一個數(shù)據(jù)源生成紙質(zhì)、PDF、IETM不同形式的出版物,滿足不同的出版需求。關(guān)系數(shù)據(jù)庫比較成熟而且廣泛使用的DBMS有SQL Server、Oracle、DB2等,其中SQL Server具有使用方便、與相關(guān)軟件集成程度高、支持Web分析與發(fā)布、支持XML等優(yōu)點[3]。裝甲裝備IETM的數(shù)據(jù)用XML編程,程序用關(guān)系數(shù)據(jù)庫存儲和管理,出版物基于Web發(fā)布,因此DBMS采用SQL Server 2008.
開發(fā)裝甲裝備IETM要實現(xiàn)技術(shù)資料無紙化,提高信息化保障水平。數(shù)據(jù)庫技術(shù)是IETM的核心技術(shù),具備技術(shù)資料管理、存儲、維護、控制功能,要實現(xiàn)數(shù)據(jù)模塊(data module, DM)定制化創(chuàng)作、IETM數(shù)字化出版、研發(fā)公司與用戶進行數(shù)據(jù)交換。
現(xiàn)階段各單位使用的技術(shù)資料仍以紙質(zhì)資料為主,配有一些Word、PDF等電子資料,這些資料制作標準不統(tǒng)一、技術(shù)審核不嚴格,信息難共享、交互性差、配套不全。還有的單位自己研發(fā)了裝甲裝備管理系統(tǒng)、裝甲裝備維修系統(tǒng)、人員培訓電子教程等,在一定程度提高了信息化保障水平,但是這些系統(tǒng)功能單一、性能不穩(wěn)定、交互功能差,要實現(xiàn)裝甲裝備全方位信息化保障任務需要開發(fā)多種軟件。裝甲裝備IETM集維修、訓練、人員培訓、裝備管理、技術(shù)資料管理功能于一體,一個軟件就能解決所有問題,真正實現(xiàn)全方位信息化保障。功能分析采用自頂向下的方式,最頂層給出系統(tǒng)功能,根據(jù)裝備的復雜程度逐層分解,最終形成若干層次的數(shù)據(jù)流程圖,能清晰地描述系統(tǒng)的工作過程。裝甲裝備IETM的功能如圖1所示,包含了功能、內(nèi)容,完整地反映了裝甲裝備IETM框架。
裝甲裝備IETM的數(shù)據(jù)主要有DM、數(shù)據(jù)模塊列表、插圖、多媒體、仿真模型、出版物、數(shù)據(jù)分發(fā)包、評注等。IETM的DM是XML生成獨立的標準化信息描述模型,DM是數(shù)據(jù)庫存儲的核心內(nèi)容,把裝甲裝備維修信息、程序信息、人員信息等各類信息制作成DM,描述裝甲裝備操作使用、維修等任務[4]。插圖顯示說明裝甲裝備技術(shù)信息的圖形,插圖不存儲在DM中,每個插圖分配了唯一的信息控制碼作為標識,DM通過信息控制碼調(diào)用和控制插圖。多媒體包括視頻、動畫、虛擬現(xiàn)實、3D模型等,多媒體資料是傳統(tǒng)紙質(zhì)技術(shù)資料沒有的部分,把裝甲裝備的結(jié)構(gòu)原理圖、組成、分解結(jié)合、故障隔離程序、操作方法等做成多媒體,提高技術(shù)資料的多樣性、可用性、易懂性。但是多媒體數(shù)據(jù)占用空間大,格式種類多,存儲管理復雜,給數(shù)據(jù)庫存儲和管理多媒體數(shù)據(jù)帶來困難。數(shù)據(jù)模塊列表是用于描述數(shù)據(jù)庫內(nèi)容的計劃、管理、控制。評注是為DM或者出版物模塊的發(fā)布者提供反饋信息。數(shù)據(jù)分發(fā)包是負責研制IETM的不同公司之間進行數(shù)據(jù)交換的標準和程序。
裝甲裝備IETM數(shù)據(jù)庫系統(tǒng)設(shè)計首先要把部隊需求轉(zhuǎn)化成數(shù)據(jù)結(jié)構(gòu),概念結(jié)構(gòu)設(shè)計是現(xiàn)實世界到信息世界的第1層抽象。概念設(shè)計的方法有很多種,其中最常用的是E-R模型,E-R模型具有較強的語義表達能力,而且結(jié)構(gòu)清晰、路徑明了、易于理解。E-R模型用實體集描述事物,用聯(lián)系集描述事物和事物之間的聯(lián)系,用屬性描述事物的特征。裝甲裝備組成和結(jié)構(gòu)較為復雜,因此采用自頂向下、逐步擴張的方法分析。以某型兩棲裝甲突擊車為例建立全局E-R模型,如圖2所示。該圖分析了該車的裝備、系統(tǒng)、子系統(tǒng)、部件、零件5個層次,及其組成、屬性和聯(lián)系。而且該模型能向關(guān)系模型、網(wǎng)狀模型、層次模型等多種模型轉(zhuǎn)化,是邏輯結(jié)構(gòu)設(shè)計的基礎(chǔ)。
邏輯結(jié)構(gòu)設(shè)計是把E-R模型轉(zhuǎn)化成特定DBMS支持的邏輯數(shù)據(jù)模型,邏輯數(shù)據(jù)模型包括層次模型、網(wǎng)絡模型、關(guān)系模型等。概念結(jié)構(gòu)設(shè)計建立了能反映用戶需求的E-R模型,但是任何一種DBMS都不支持E-R模型,裝甲裝備IETM的DBMS采用SQL Server 2008,因此把E-R模型轉(zhuǎn)化成SQL Server 2008支持的關(guān)系模型,生成的關(guān)系模型能反映相應的E-R模型。關(guān)系數(shù)據(jù)庫支持關(guān)系模型,關(guān)系模型是利用二維表描述實體之間的聯(lián)系[5]。實體是客觀存在的而且能相互區(qū)別的事物,如裝甲裝備、工程師,主碼用于唯一地標識實體的屬性或?qū)傩越M合。關(guān)系有三種表:基本表、查詢表、視圖表?;颈硎菍嶋H存在的表,用于表示實際存儲數(shù)據(jù)之間的邏輯關(guān)系;查詢表是查詢結(jié)果產(chǎn)生的表;視圖表是由基本表或者其他視圖表導出的虛擬表。E-R模型向關(guān)系模型轉(zhuǎn)化的規(guī)則是一個實體轉(zhuǎn)化為一個關(guān)系模型,實體的屬性轉(zhuǎn)化為關(guān)系的屬性,實體的主碼轉(zhuǎn)化為關(guān)系的主碼。將圖2的E-R模型轉(zhuǎn)化為某型兩棲裝甲突擊車數(shù)據(jù)如表1所示,定位導航數(shù)據(jù)如表2所示,主動輪數(shù)據(jù)如表3所示。表中具體型號用“*”表示。
表1 某型兩棲裝甲突擊車數(shù)據(jù)表
表2 定位導航數(shù)據(jù)表
表3 主動輪數(shù)據(jù)表
可以直接建立SQL Server 2008接受的裝甲裝備邏輯數(shù)據(jù)模型,描述基本信息,操作信息、使用信息、管理信息等。以裝備實力為例進行分析,建立裝備實力數(shù)據(jù)表,如表4所示。
表4 裝備實力數(shù)據(jù)表
裝備實力數(shù)據(jù)表包括裝備基本屬性,主碼是型號識別碼,是裝備實力表的唯一標識。這類表能描述某一方面的詳細信息,多張表組合起來能全面地反映裝甲裝備的信息,而且易于更新、修改,是關(guān)系數(shù)據(jù)庫的基礎(chǔ)數(shù)據(jù)來源。
裝甲裝備IETM包括維修手冊、培訓手冊等。維修手冊包括故障信息表、備件信息表、裝備信息表、故障排除信息表和統(tǒng)計分析表等。維修手冊的每個表記錄和存儲了裝甲裝備維修所需的信息,為維修提供數(shù)據(jù)支撐。培訓手冊的數(shù)據(jù)表記錄了教學、訓練、考核和講評所需信息,集中了人員培訓全過程的有效數(shù)據(jù)。以維修手冊中的修理為例進行分析,建立修理信息表,如表5所示,該表反映裝甲裝備修理的有效數(shù)據(jù),并將數(shù)據(jù)建立聯(lián)系,組成整體存儲在數(shù)據(jù)庫中。
表5 修理信息表
裝甲裝備IETM數(shù)據(jù)庫安全設(shè)計是為了防止非法操作造成裝甲裝備數(shù)據(jù)泄密、更改、破壞,給裝備保障帶來困難。
通過設(shè)計裝甲裝備IETM數(shù)據(jù)庫系統(tǒng)的存取權(quán)限能實現(xiàn)未授權(quán)的人無法訪問數(shù)據(jù),從而避免非法使用者使用和破壞數(shù)據(jù)。可以從兩個方面定義官兵權(quán)限,一是存取什么數(shù)據(jù),二是對數(shù)據(jù)進行哪些操作,然后把定義好的權(quán)限編譯并存入數(shù)據(jù)字典。官兵要經(jīng)工程師授予系統(tǒng)權(quán)限才能成為裝甲裝備IETM的合法用戶,然后工程師對已經(jīng)成為合法用戶的官兵授予數(shù)據(jù)操作權(quán)限,當官兵進行操作時,DBMS查詢數(shù)據(jù)字典,按照定義好的權(quán)限進行合法性檢查,如果在權(quán)限范圍內(nèi)則允許操作,如果超出權(quán)限范圍則拒絕操作。官兵只能訪問崗位專業(yè)范圍內(nèi)的數(shù)據(jù),無權(quán)訪問其他數(shù)據(jù),符合部隊保密規(guī)定,不擴大知密范圍。
裝甲裝備IETM數(shù)據(jù)庫系統(tǒng)用戶量大,一一授權(quán)工作量很大,為了簡化授權(quán)操作,用到數(shù)據(jù)庫角色。數(shù)據(jù)庫角色是權(quán)限的集合,只需創(chuàng)建一個角色就能為相同類別的官兵授權(quán)。裝甲裝備IETM角色分為:系統(tǒng)管理員、操作使用人員、修理員、裝備管理員。授權(quán)和權(quán)限收回的相關(guān)定義語句如下:
CREATE SOLDIER
SQL>GRANT CREATE TABLE TO soldier01; /*據(jù)庫管理員即工程師把建表權(quán)限授予soldier01*/
SQL>REVOKE CREATE TABLE, CREATE VIEW FROM soldier01; /*工程師從soldier01身上收回建表權(quán)限*/
sp_addrole
GRANT {all|
GRANT select, update, insert ON Information table of equipment repair TO repairman; /*把裝備修理信息表的select、update、insert權(quán)限授予角色repairman*/
GRANT repairman TO soldier02; /*給某官兵soldier02授予角色repairman的所有權(quán)限*/
REVOKE repairman FROM soldier02; /*從角色repairman收回soldier02的權(quán)限*/
REVOKE {all
審計是通過監(jiān)視、跟蹤和記錄數(shù)據(jù),記錄官兵的所有操作并存入審計日志。審計記錄內(nèi)容有官兵的賬號、相關(guān)數(shù)據(jù)、操作終端、操作類型、時間和數(shù)據(jù)修改前后的影像等。工程師能通過審計選項重現(xiàn)導致數(shù)據(jù)庫出現(xiàn)問題的操作過程,用于監(jiān)視和收集特定人的活動或者特定操作。審計很費時間和空間,因此需要最小化審計選項,工程師根據(jù)安全性需要適時打開或關(guān)閉審計功能,或者縮小審計范圍,只對特定操作審計。例如發(fā)現(xiàn)某人soldier03可疑,則跟蹤soldier03的操作,當soldier03把表information table of equipment repair刪除時審計,語句如下:
SQL>AUDIT DELETE ON soldier03. information table of equipment repair BY ACCESS WHENEVER SUCCESSFUL;
工程師通過審計日志查明soldier03操作的時間、終端和相關(guān)數(shù)據(jù)等,并能恢復數(shù)據(jù)。審計能在敵方人員破壞裝甲裝備IETM數(shù)據(jù)后恢復數(shù)據(jù),并查明嫌疑人。
裝甲裝備IETM數(shù)據(jù)庫系統(tǒng)建立數(shù)據(jù)備份與恢復機制。一旦因軟件或硬件故障、介質(zhì)故障、人為操作不當破壞數(shù)據(jù)庫,工程師利用備份數(shù)據(jù),迅速完整地把它恢復到破壞前的某一正確狀態(tài)[6]。裝甲裝備IETM數(shù)據(jù)庫系統(tǒng)采用動態(tài)數(shù)據(jù)備份,備份過程中如果應用程序訪問數(shù)據(jù)庫,生成的備份數(shù)據(jù)和數(shù)據(jù)庫有所差別,需要建立日志把備份過程事務中的數(shù)據(jù)操作記錄下來,當數(shù)據(jù)庫遭到破壞時,先把備份數(shù)據(jù)導入,然后根據(jù)日志中的記錄對事務進行相應的操作[7]。如果備份過程中沒有應用程序訪問數(shù)據(jù)庫,只需要進行數(shù)據(jù)備份,當數(shù)據(jù)庫遭到破壞時導入備份數(shù)據(jù)即可。數(shù)據(jù)恢復技術(shù)極大地提高了數(shù)據(jù)庫可靠性,對裝甲裝備數(shù)據(jù)安全具有重要意義。
信息化戰(zhàn)爭要求裝備保障系統(tǒng)、高效、快速、準確、方便,而裝甲裝備現(xiàn)有的保障水平難以適應信息化戰(zhàn)爭的要求,因此需要研發(fā)IETM.數(shù)據(jù)庫系統(tǒng)作為IETM的核心技術(shù),是研究的工作重點難點。筆者進行完整的裝甲裝備IETM數(shù)據(jù)庫系統(tǒng)設(shè)計,創(chuàng)新之處在于系統(tǒng)全面地提出裝甲裝備IETM數(shù)據(jù)庫系統(tǒng)設(shè)計方案,把維修、操作使用、技術(shù)資料管理、人員培訓、裝備管理等數(shù)據(jù)全部納入數(shù)據(jù)庫中,解決了IETM對裝甲裝備全方面、全領(lǐng)域保障的關(guān)鍵技術(shù)。結(jié)合部隊保密要求,設(shè)計完善的數(shù)據(jù)庫安全方案。研究解決了裝甲裝備IETM數(shù)據(jù)庫系統(tǒng)關(guān)鍵技術(shù)問題,為IETM開發(fā)提供理論依據(jù)。