唐曦文,崔希振
TANG Xi-wen1,2, CUI Xi-zhen1
(1.上海飛機設計研究院,上海 200436;2.同濟大學 電子與信息工程學院 上海 200092)
試驗數據是分析飛機系統性能的重要依據之一。各種試驗數據往往存在著種類繁多、容量較大等特點,在對其進行分類、管理和查詢時存在條件混亂、讀取速度緩慢和無法對數據進一步分析等困難。因此,設計一套基于數據倉庫技術的數據管理系統就顯得極為重要。系統通過友好的人機界面來管理試驗數據,同時還可更深層次地分析這些數據,生成如報表、圖像等更加直觀的數據形式,方便設計人員分析飛機系統性能。
數據倉庫綜合和合并多維空間的數據。它是語義上一致的數據存儲,它充當決策支持數據模型的實現,并提供使用者決策所需信息的手段。數據倉庫也常常看做是一種體系結構,通過將異構數據源中的數據集成在一起構造、支持結構化或專門查詢、分析報告和決策制定[5]。
多維數據模型又稱之為數據立方體。該模型允許從多維對數據建模和觀察,一般由維和事實定義。維是保存記錄的透視圖或實體。每個維都有一個表與之關聯,稱為維度表,用于進一步描述維。通常,多維數據模型圍繞中心主體組織。主體用事實表表示,事實是數值度量的。把它們看作數量是因為用戶想根據它們分析維之間的關系[5]。
由于數據倉庫下存儲的數據為多維數據模型,所以實體-聯系數據模型廣泛應用于關系數據庫設計,其中數據庫模式由實體集和它們之間的聯系組成。這種數據模式適用于聯機事務處理。然而,數據倉庫需要簡明的、面向主題的模式便于聯機分析數據。目前流行的數據倉庫的數據模型是多維模型,常常以星形、雪花形和事實星座形存在。
星形模式通常包含大批數據且不含冗余事實表,外加一組維度為一的附表。這種模式下的維表類似星光一樣圍繞在中心事實表周圍。雪花形模式是在星形模式下進一步變化,區別是某些維表可能是規范化的,這樣可以把數據進一步分解到附加表中,構成類似雪花形的結構。這種表相對容易維護且節省存儲空間。而本文所述系統屬于事實星座形的結構。該結構的特點是需要多個事實表共享維表。因此,這種構成形式可以看作星形模式的匯集。它能對多個主題建模,使系統更加有效。系統維表的關系如圖1所示。

圖1 數據管理系統中的維度表
該系統是基于TCP/IP協議,并采用C/S模式組成整個系統。其中,系統的S端(指sever服務器端)將飛行數據清理、集成、變換后按一定的格式和關系維度表導入數據倉庫。系統的C端(指clinet客戶端)可根據需求調用數據倉庫中的數據。系統構架如圖2所示。
系統采用LabWindows/CVI8.5+SQL Sever 2008為系統的開發工具。

圖2 數據管理系統架構圖
LabWindows/CVI8.5是一個完全的ANSI C的開發環境,用于儀器控制、自動檢測、數據處理等應用軟件。軟件本身含有豐富的常用控件,利用交互式的開發平臺、交互式的編程方法使功能強大、使用靈活的C語言與用于數據采集、分析和顯示的測控專業工具有機的結合起來[2]。
SQL Sever 2008是當前最流行的數據庫操作軟件之一,基于標準化查詢語言(SQL)。當前,數據信息存儲爆炸式增長。在耗費相同系統資源的情況下,用戶可存儲更多的數據供用戶使用。而且,用戶可在大量的數據中更加快速地尋找到所需要的信息。
當用戶在安裝好LabWindows/CVI8.5和SQL Sever 2008后,再安裝SQL Toolkit數據庫系統應用軟件工具包。該工具包會提供相應的關于數據庫操作的面板庫函數。此時,用戶再結合SQL語言,便可以實現系統對SQL Sever 2008中數據庫連接、添加、修改和刪除等一系列操作。
通常情況下試驗數據容量都比較大,用傳統的文件指針方式對其進行讀寫,速度非常緩慢,甚至會出現死機或者內存溢出等錯誤。為解決這一難題,該數據管理系統利用批量導入數據的方法先將飛行數據導入數據倉庫中,再利用SQL語句對數據倉庫中的這些數據進行查詢和讀取,不僅很好地解決了死機、內存溢出等問題,還大大提高了系統讀取數據的速度。
1)服務器端將試驗數據清理、集成和變換后按照一定的關系和格式導入數據倉庫中。
2)客戶端提供友好的人機界面,用戶可方便快速的查詢數據倉庫中所需要的數據。
3)用戶可對查詢出的數據進一步分析,包括生成函數圖像;動態捕捉關鍵點數據;局部圖像放大;數據圖像預覽、打印和保存等功能。

圖3 數據管理系統查詢界面

圖4 數據管理系統分析數據界面
本系統已在分析試驗數據中得到了具體的應用。事實證明該系統操作簡單、實用,處理數據的速度快,進一步分析數據的功能全,極大減輕了設計人員分析飛機系統性能時的工作負擔,很好的提高了工作效率。
[1]史君成,張淑偉,律淑珍.LabWindows虛擬儀器設計[M].北京:國防工業出版社,2007.
[2]王建新,楊世風,等.LabWindows/CVI測控技術及工程應用[M].北京:化學工業出版社,2006.
[3]譚浩強.C程序設計(第二版)[M].北京:清華大學出版社,1999.
[4]孫曉云.LabWindows/CVI的虛擬儀器設計與應用(第2版)[M].北京:電子工業出版社,2010.
[5]Jiawei Han,Micheline Kamber,范明,孟小峰,譯.數據挖掘概念與技術[M].北京:機械工業出版社,2008.
[6]Stephen Prata著,云巔工作室譯.C Primer Plus(第五版)中文版[M].北京:人民郵電出版社,2007.
[7]黃少華,陳翠娥.SQL語法范例大全(SQL Server、Oracle通解)[M].北京:電子工業出版社,2008.