李曼麗,易 忠,劉 笑
(北京衛(wèi)星環(huán)境工程研究所,北京 100094)
精度測(cè)量(以下簡(jiǎn)稱精測(cè))是指對(duì)殼體結(jié)構(gòu)精度和星上儀器設(shè)備安裝精度的測(cè)量,目前所用的測(cè)量方法多為經(jīng)緯儀。精度測(cè)量依托于總裝精度測(cè)量工藝,在衛(wèi)星總裝和試驗(yàn)的不同狀態(tài),都需要對(duì)衛(wèi)星反復(fù)進(jìn)行精度測(cè)試,以檢測(cè)衛(wèi)星及其設(shè)備的安裝角度和位置度,早期發(fā)現(xiàn)衛(wèi)星的總裝問(wèn)題或是技術(shù)設(shè)計(jì)問(wèn)題。精測(cè)數(shù)據(jù)庫(kù)的建立將把以往零散存儲(chǔ)的精測(cè)數(shù)據(jù)集中管理,方便精測(cè)人員查詢和比對(duì),也便于總裝工藝人員、總體人員、分系統(tǒng)人員查詢和分析。
(1) 以現(xiàn)有的精測(cè)流程為基準(zhǔn),建立精測(cè)數(shù)據(jù)庫(kù)。主要目標(biāo)如下:
進(jìn)一步規(guī)范精測(cè)流程,嚴(yán)格按照標(biāo)準(zhǔn)程序執(zhí)行;精測(cè)數(shù)據(jù)的有效集成便于精測(cè)人員對(duì)精測(cè)數(shù)據(jù)的分析,同時(shí)開(kāi)放對(duì)外部程序的接口,有利于數(shù)據(jù)的共享;各類精測(cè)相關(guān)文檔以數(shù)據(jù)文件的形式保存,為精測(cè)數(shù)據(jù)庫(kù)增加非數(shù)據(jù)類的有效信息,便于文檔的日后查詢;與其他質(zhì)測(cè)、檢漏等數(shù)據(jù)庫(kù)相集成,建成AIT測(cè)試的一體化信息系統(tǒng)的基礎(chǔ)數(shù)據(jù)庫(kù)。
(2) 精測(cè)數(shù)據(jù)庫(kù)系統(tǒng)的用戶是參與精度測(cè)量的操作人員、精測(cè)數(shù)據(jù)分析人員、總裝工藝人員、總體人員、分系統(tǒng)人員和與精測(cè)相關(guān)的其他人員等。
2.2.1 對(duì)功能的需求
(1) 存儲(chǔ)各類精測(cè)相關(guān)文件;
(2) 存儲(chǔ)各類精測(cè)數(shù)據(jù);
(3) 根據(jù)入庫(kù)的精測(cè)數(shù)據(jù)計(jì)算精度值;
(4) 查詢精測(cè)相關(guān)數(shù)據(jù)和文檔。
2.2.2 對(duì)性能的需求
(1) 數(shù)據(jù)庫(kù)容量:采用現(xiàn)有Oracle9i數(shù)據(jù)庫(kù)可以滿足;
(2) 入庫(kù)速度:各類文件的錄入,單個(gè)文件入庫(kù)時(shí)間不大于2 s;
(3) 響應(yīng)速度:即時(shí)反應(yīng)在用戶界面中,響應(yīng)時(shí)間不大于1 s;
(4) 數(shù)據(jù)類型:支持文檔、數(shù)據(jù)、圖表等多種數(shù)據(jù)類型;
2.2.3 輸入、輸出要求
輸入的文檔文件:
(1) 總體技術(shù)要求;
(2) 分系統(tǒng)技術(shù)要求(如果是分系統(tǒng)精測(cè));
(3) 總裝工藝流程;
(4) 精測(cè)工藝;
(5) 精測(cè)報(bào)告。輸出:處理前后的精測(cè)數(shù)據(jù)、各類文檔。
2.2.4 接口要求
與看板生產(chǎn)數(shù)據(jù)庫(kù)實(shí)現(xiàn)無(wú)縫接口,同時(shí)預(yù)留硬件方面支持所需打印機(jī)、掃描儀、服務(wù)器等外部設(shè)備。
圖1為精度測(cè)量流程,詳細(xì)說(shuō)明了精度測(cè)量的實(shí)際流程和思路。精度測(cè)量從總體或分系統(tǒng)的技術(shù)要求出發(fā),工藝室根據(jù)總體或分系統(tǒng)的技術(shù)要求制定技術(shù)流程,精測(cè)工藝人員根據(jù)技術(shù)要求和技術(shù)流程制定精測(cè)工藝。精度測(cè)量要依據(jù)以上幾個(gè)文件的要求來(lái)進(jìn)行操作,如果精度符合技術(shù)要求,證明精度測(cè)量通過(guò),可以交付;如果精度不符合技術(shù)要求,就需要總裝人員進(jìn)行反復(fù)調(diào)節(jié),直到精度符合技術(shù)要求[1]。在精度調(diào)節(jié)過(guò)程中,如果發(fā)現(xiàn)設(shè)計(jì)問(wèn)題,應(yīng)當(dāng)發(fā)送現(xiàn)場(chǎng)處理單到總體或分系統(tǒng)送測(cè)方更改設(shè)計(jì)問(wèn)題,重新進(jìn)行以上步驟。精度測(cè)量成功后,需要撰寫精度測(cè)量報(bào)告交付給總體或分系統(tǒng),并將相關(guān)資料歸檔以便日后查詢。
在型號(hào)研制過(guò)程中,包含多個(gè)精測(cè)工況。每個(gè)精測(cè)工況都要進(jìn)行上述流程,直到所有工況精測(cè)任務(wù)完成,該型號(hào)精測(cè)工作才能結(jié)束。
圖 1 精度測(cè)量流程圖Fig.1 Flow chart of precision measurement
精度測(cè)量數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)設(shè)計(jì)如圖2所示。數(shù)據(jù)庫(kù)系統(tǒng)的入口為精測(cè)相關(guān)的各類文件和數(shù)據(jù),這里具體指總體技術(shù)要求和分系統(tǒng)技術(shù)要求、技術(shù)流程、精測(cè)工藝、精測(cè)報(bào)告等,這幾種文件具有指導(dǎo)精度測(cè)量的作用,所以必須及時(shí)、準(zhǔn)確、有效地存儲(chǔ)到數(shù)據(jù)庫(kù)中。精測(cè)過(guò)程中得到的數(shù)據(jù)(角度、位置度等)和精度調(diào)節(jié)方法是精度測(cè)量的重要結(jié)果,也是精測(cè)數(shù)據(jù)庫(kù)的核心部分。在精測(cè)數(shù)據(jù)庫(kù)中,精測(cè)數(shù)據(jù)隸屬于精測(cè)的型號(hào)和工況,指導(dǎo)工況的作業(yè),為型號(hào)研制生產(chǎn)服務(wù)。
圖 2 精測(cè)數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)圖Fig.2 Structure of precision measurement database
精度測(cè)量數(shù)據(jù)庫(kù)的設(shè)計(jì)采用B/S模式,便于分布式部署和用戶快捷使用。系統(tǒng)采用標(biāo)準(zhǔn)J2EE結(jié)構(gòu),利用Java語(yǔ)言開(kāi)發(fā),具有較強(qiáng)的可移植性和可擴(kuò)充性。后臺(tái)數(shù)據(jù)庫(kù)采用功能較為強(qiáng)大的Oracle10g數(shù)據(jù)庫(kù)平臺(tái),在安全性和可靠性方面都集成了較為強(qiáng)大的功能。
精度測(cè)量數(shù)據(jù)庫(kù)還包括相應(yīng)的應(yīng)用系統(tǒng)作為支持。主要包括數(shù)據(jù)入庫(kù)/出庫(kù)系統(tǒng)、數(shù)據(jù)查詢系統(tǒng)、權(quán)限管理系統(tǒng)、系統(tǒng)管理系統(tǒng)和數(shù)字簽名系統(tǒng),其中本期試點(diǎn)工程需要解決前4個(gè)主要部分的開(kāi)發(fā)和應(yīng)用,數(shù)據(jù)簽名系統(tǒng)有待與其他系統(tǒng)集成考慮,所以放在后期開(kāi)發(fā)中完成。
精測(cè)數(shù)據(jù)庫(kù)的系統(tǒng)模塊設(shè)計(jì)如圖3所示,主要包括數(shù)據(jù)入庫(kù)/出庫(kù)模塊設(shè)計(jì)、數(shù)據(jù)查詢模塊設(shè)計(jì)、權(quán)限管理模塊設(shè)計(jì)、系統(tǒng)管理模塊設(shè)計(jì)。
圖 3 精測(cè)數(shù)據(jù)庫(kù)系統(tǒng)模塊設(shè)計(jì)圖Fig.3 Modules of precision measurement database
4.2.1 數(shù)據(jù)入庫(kù)/出庫(kù)模塊設(shè)計(jì)
精測(cè)數(shù)據(jù)庫(kù)的數(shù)據(jù)入庫(kù)/出庫(kù)模塊主要分為4部分內(nèi)容:數(shù)據(jù)入庫(kù)子模塊、相關(guān)文檔入庫(kù)子模塊、數(shù)據(jù)出庫(kù)子模塊和相關(guān)文檔出庫(kù)子模塊,針對(duì)的對(duì)象主要是精測(cè)生成的各種歷史數(shù)據(jù)和相關(guān)文檔。數(shù)據(jù)入庫(kù)/出庫(kù)模塊是精測(cè)數(shù)據(jù)庫(kù)的入口,是后續(xù)各個(gè)應(yīng)用系統(tǒng)的基礎(chǔ),其作用至關(guān)重要,對(duì)準(zhǔn)確性要求非常高。
(1) 數(shù)據(jù)入庫(kù)子模塊:傳輸部分位于客戶端,接收與數(shù)據(jù)入庫(kù)部分位于服務(wù)器上,通過(guò)數(shù)據(jù)入庫(kù)界面將精測(cè)數(shù)據(jù)存入到數(shù)據(jù)庫(kù)中。其中還包括對(duì)精測(cè)項(xiàng)目的建立,主要指型號(hào)建立、工況建立、精測(cè)項(xiàng)目建立等。
(2) 相關(guān)文檔入庫(kù)子模塊:此功能模塊主要提供電子文檔入庫(kù)功能。將電子文檔作為一個(gè)blob字段存入到數(shù)據(jù)庫(kù)中,并記錄這些文件的相關(guān)信息,用戶可以通過(guò)相關(guān)的查詢操作來(lái)實(shí)現(xiàn)對(duì)這些文件和信息的訪問(wèn)。
(3) 數(shù)據(jù)出庫(kù)子模塊:數(shù)據(jù)輸出模塊作為整個(gè)系統(tǒng)不可缺少的一部分,其作用在于向用戶提供一種以文本方式獲得精測(cè)數(shù)據(jù)的手段,方便用戶查詢歷史精測(cè)數(shù)據(jù)文件,并進(jìn)行比較。
(4) 相關(guān)文檔出庫(kù)子模塊:用于為用戶提供相關(guān)精測(cè)文檔的輸出接口,便于用戶對(duì)精測(cè)文檔的操作、查詢和管理。
4.2.2 數(shù)據(jù)查詢模塊設(shè)計(jì)
精測(cè)數(shù)據(jù)庫(kù)數(shù)據(jù)查詢模塊采用B/S模式進(jìn)行查詢。B/S模式的設(shè)計(jì)是針對(duì)使用IE瀏覽器通過(guò)Internet或Intranet接入本系統(tǒng)的用戶。這類用戶可以通過(guò)瀏覽網(wǎng)頁(yè)的方式與系統(tǒng)數(shù)據(jù)庫(kù)進(jìn)行交互來(lái)完成信息的查詢和獲取。根據(jù)具體業(yè)務(wù)需求的規(guī)定,在這種方式下實(shí)現(xiàn)數(shù)據(jù)查詢分為按型號(hào)查詢(基本查詢)、按工況查詢、按精測(cè)項(xiàng)目查詢、復(fù)合查詢、文檔查詢。
4.2.3 權(quán)限管理模塊設(shè)計(jì)
本系統(tǒng)分為兩大部分,一部分為安全管理,一部分為權(quán)限驗(yàn)證。其中安全管理模塊又分為組織管理、權(quán)限管理、會(huì)話管理和日志管理。圖4為精測(cè)數(shù)據(jù)庫(kù)權(quán)限管理E-R圖。每個(gè)用戶組只能擁有一張?jiān)L問(wèn)控制表,同理每張表只能包括一個(gè)用戶組,否則容易造成權(quán)限的混淆;一個(gè)用戶只能屬于一個(gè)用戶組,但一個(gè)用戶組可以有多個(gè)用戶;一個(gè)用戶也可以是一個(gè)用戶組;一個(gè)用戶只能屬于一個(gè)部門,一個(gè)部門可以有多個(gè)用戶。
圖 4 精測(cè)數(shù)據(jù)庫(kù)權(quán)限管理E-R圖Fig.4 Access control E-R chart of precision measurementdatabase
在每個(gè)表中,都有主鍵和外鍵,這樣可以保證數(shù)據(jù)庫(kù)的實(shí)體完整性(如果數(shù)據(jù)庫(kù)表的所有行能惟一確定,則稱該表為實(shí)體完整性。即每個(gè)表的 PK值必須惟一且不能為空值)和參照完整性(一個(gè)表中正確的 FK值必須與相關(guān)聯(lián)的表中的PK值相匹配或者必須是空值。如果表的FK值符合“匹配或空值”要求,則稱其具有參照完整性。參照完整性確保不可能指向不存在的PK值。因?yàn)橐粋€(gè)表中的FK值一般是相關(guān)表中的PK值)[2]。
4.2.4 系統(tǒng)管理模塊設(shè)計(jì)
系統(tǒng)管理模塊設(shè)計(jì)見(jiàn)圖3的精測(cè)數(shù)據(jù)庫(kù)系統(tǒng)模塊設(shè)計(jì)圖所示。系統(tǒng)管理模塊主要負(fù)責(zé)管理系統(tǒng)相關(guān)的各種信息,包括修改、刪除型號(hào)、工況、數(shù)據(jù)、文件操作和對(duì)數(shù)據(jù)文件的備份操作。系統(tǒng)管理模塊主要包括數(shù)據(jù)文件管理和數(shù)據(jù)文件備份。其中數(shù)據(jù)文件管理包括型號(hào)管理、工況管理、數(shù)據(jù)管理和文件管理;數(shù)據(jù)文件備份包括數(shù)據(jù)備份和文件備份。
數(shù)據(jù)文件管理子模塊主要負(fù)責(zé)管理數(shù)據(jù)文件的相關(guān)信息。對(duì)航天器型號(hào)、工況、數(shù)據(jù)、文件的管理、修改和刪除,這部分需要權(quán)限較高的用戶來(lái)完成,一旦刪除航天器型號(hào),所有隸屬于該型號(hào)的工況信息、數(shù)據(jù)信息和文件信息都將被刪除,并無(wú)法恢復(fù),所以刪除操作需要慎重。
數(shù)據(jù)文件備份子模塊主要負(fù)責(zé)備份數(shù)據(jù)信息和文件信息。為了避免硬件損壞、網(wǎng)絡(luò)故障、非法攻擊、誤操作、火災(zāi)等意外帶來(lái)的數(shù)據(jù)丟失,必須建立有效機(jī)制,定期備份數(shù)據(jù)和文件是一個(gè)有效保護(hù)數(shù)據(jù)庫(kù)的手段。該備份功能應(yīng)該在手工備份的基礎(chǔ)上實(shí)現(xiàn)程序自動(dòng)定期備份,充分提高管理員的工作效率,這是系統(tǒng)管理模塊的一個(gè)難點(diǎn)所在。
為了應(yīng)對(duì)試驗(yàn)數(shù)字化平臺(tái)建設(shè)面臨的技術(shù)挑戰(zhàn),例如試驗(yàn)數(shù)據(jù)動(dòng)態(tài)建庫(kù)、Web門戶自動(dòng)生成、數(shù)據(jù)結(jié)構(gòu)復(fù)雜多變和各種數(shù)據(jù)格式的轉(zhuǎn)換等問(wèn)題,在設(shè)計(jì)上采用了以下關(guān)鍵技術(shù),很好地解決了這些難題。
針對(duì)試驗(yàn)數(shù)據(jù)的多變性和不可預(yù)測(cè)性,把試驗(yàn)數(shù)據(jù)管理中易變或不確定的部分從軟件中剝離出來(lái),用元數(shù)據(jù)(Meta-data)來(lái)描述它們。
工程技術(shù)人員通過(guò)使用提供的可視化工具(Design Studio)能直觀和動(dòng)態(tài)地定義數(shù)據(jù)庫(kù)模型和業(yè)務(wù)邏輯并轉(zhuǎn)換成元數(shù)據(jù)。平臺(tái)的引擎(Engine)在元數(shù)據(jù)的驅(qū)動(dòng)下能自動(dòng)對(duì)數(shù)據(jù)庫(kù)操作,自動(dòng)更改業(yè)務(wù)邏輯并自動(dòng)更新用戶界面等,而不需要軟件技術(shù)人員修改程序。元數(shù)據(jù)就像知識(shí),引擎就像人的大腦,大腦可以學(xué)習(xí)知識(shí),并能根據(jù)其所學(xué)到的知識(shí)進(jìn)行思維和控制其他器官的行動(dòng)。航天器精度測(cè)量數(shù)據(jù)庫(kù)的架構(gòu)設(shè)計(jì)思想就是基于這個(gè)原理,如圖 5所示。元數(shù)據(jù)驅(qū)動(dòng)(Meta-data Driven)的軟件架構(gòu)提供了強(qiáng)大的靈活性和適應(yīng)性,這是試驗(yàn)數(shù)據(jù)管理軟件不可或缺的特性。
圖 5 元數(shù)據(jù)驅(qū)動(dòng)工作原理圖Fig.5 Working principle of meta-data driving
航天器精度測(cè)量數(shù)據(jù)雖然是以關(guān)系數(shù)據(jù)庫(kù)為基礎(chǔ),但能夠支持面向?qū)ο蟮臄?shù)據(jù)建模方式,可以包括表達(dá)數(shù)據(jù)類之間的繼承關(guān)系(Inheritance Relationship)在內(nèi)的試驗(yàn)數(shù)據(jù)的全部語(yǔ)義結(jié)構(gòu)。繼承關(guān)系在表達(dá)試驗(yàn)數(shù)據(jù)的語(yǔ)義結(jié)構(gòu)中起到重要的作用,它可以建立數(shù)據(jù)結(jié)構(gòu)的抽象數(shù)據(jù)類(Abstract Classes)信息。
同時(shí),為方便工程技術(shù)人員建立試驗(yàn)數(shù)據(jù)庫(kù),提供了標(biāo)準(zhǔn)的面向?qū)ο竽0澹∣bject-oriented Data Model),該模板包含抽象數(shù)據(jù)類、公共屬性和抽象數(shù)據(jù)類之間的關(guān)聯(lián)關(guān)系等。工程技術(shù)人員可通過(guò)添加子數(shù)據(jù)類和特殊屬性的方式在模板上擴(kuò)展,既保證了數(shù)據(jù)庫(kù)中的試驗(yàn)數(shù)據(jù)具有一定的一致性,又兼顧了不同試驗(yàn)數(shù)據(jù)的特殊性,同時(shí)也簡(jiǎn)化了工程數(shù)據(jù)人員的建庫(kù)操作步驟。面向?qū)ο蟮慕◣?kù)原理圖(圖 6)中的“試驗(yàn)件描述”、“試驗(yàn)要求”和“試驗(yàn)測(cè)量數(shù)據(jù)”為抽象數(shù)據(jù)類;而“渦輪發(fā)動(dòng)機(jī)描述”、“渦輪發(fā)動(dòng)機(jī)試驗(yàn)要求”和“渦輪發(fā)動(dòng)機(jī)試驗(yàn)測(cè)量數(shù)據(jù)”等為工程技術(shù)人員所擴(kuò)展的子數(shù)據(jù)類。
圖 6 面向?qū)ο蟮慕◣?kù)原理圖Fig.6 Working principle of object oriented database
對(duì)試驗(yàn)數(shù)據(jù)管理的主要目的是為了更好和更方便地使用它們。使用試驗(yàn)數(shù)據(jù)中很重要的環(huán)節(jié)就是將試驗(yàn)數(shù)據(jù)從一種格式轉(zhuǎn)換成設(shè)計(jì)軟件、繪圖軟件或其他后數(shù)據(jù)處理系統(tǒng)所要求的格式。
航天器精度測(cè)量數(shù)據(jù)庫(kù)的一個(gè)重要技術(shù)特色是通過(guò)XML Schema和XQuery技術(shù)將關(guān)系數(shù)據(jù)庫(kù)中的數(shù)據(jù)映射成虛擬的 XML數(shù)據(jù)庫(kù)(Virtual XML Database),既能充分利用關(guān)系數(shù)據(jù)庫(kù)的強(qiáng)大存儲(chǔ)和查詢功能,又極大地方便了對(duì)試驗(yàn)數(shù)據(jù)進(jìn)行后置處理所需要的格式轉(zhuǎn)換。圖7是虛擬XML數(shù)據(jù)庫(kù)技術(shù)示意圖。
圖 7 虛擬XML數(shù)據(jù)庫(kù)技術(shù)示意圖Fig.7 Sketch map of virtual XML database
大量的工程實(shí)踐已經(jīng)證明,由于工程應(yīng)用領(lǐng)域?qū)?shù)據(jù)管理的要求與商業(yè)應(yīng)用領(lǐng)域?qū)?shù)據(jù)管理的要求存在極大的差異,甚至有許多是本質(zhì)上的區(qū)別,用傳統(tǒng)的DBMS來(lái)管理工程數(shù)據(jù)是難以勝任的[3]。
一般地講,試驗(yàn)和測(cè)試是根據(jù)產(chǎn)品開(kāi)發(fā)的需要而進(jìn)行的,而諸如國(guó)防武器等復(fù)雜系統(tǒng)的開(kāi)發(fā)過(guò)程是分階段進(jìn)行的。在不同階段所需要進(jìn)行試驗(yàn)的項(xiàng)目和內(nèi)容都不相同,各個(gè)階段要求解決的子任務(wù)不同,所關(guān)心的數(shù)據(jù)對(duì)象各異,但整體上又相互關(guān)聯(lián);數(shù)據(jù)來(lái)源既有靜態(tài)的規(guī)范數(shù)據(jù),又有隨著過(guò)程發(fā)展不斷產(chǎn)生的動(dòng)態(tài)構(gòu)造數(shù)據(jù)、信息增長(zhǎng)數(shù)據(jù)、試驗(yàn)性臨時(shí)數(shù)據(jù)等,數(shù)據(jù)結(jié)構(gòu)和記錄數(shù)項(xiàng)往往要根據(jù)工程對(duì)象而改變,數(shù)據(jù)量大、種類多、結(jié)構(gòu)復(fù)雜。精測(cè)數(shù)據(jù)庫(kù)的建立采用先進(jìn)的測(cè)試數(shù)據(jù)庫(kù)模型將實(shí)現(xiàn)精測(cè)數(shù)據(jù)庫(kù)數(shù)據(jù)的有效管理。
(References)
[1]徐福祥.衛(wèi)星工程[M].北京: 中國(guó)宇航出版社, 2002
[2]李禹生, 等.數(shù)據(jù)庫(kù)應(yīng)用技術(shù)[M].北京: 中國(guó)水利水電出版社, 2002
[3]連衛(wèi)民, 張建偉.基于Web工程數(shù)據(jù)庫(kù)的SQL語(yǔ)言系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì), 2006,27(18)