汪浩洋,吳 偉,向 超,唐 健,湯佳駿
(上海機電工程研究所,上海 201109)
隨著從數據中獲取知識的概念提出,以及信息化技術的發展,數據作為一種資源被廣泛重視并收集使用。武器裝備測試系統在信息化實踐過程中積累了大量的測試數據,并隨著武器裝備的研制生產,其規模越來越龐大。但人們更為關注數據背后蘊含的、能有效指導實踐的知識,這意味需要對海量數據進行挖掘分析,提煉出有價值的信息。基礎的數據存儲以及管理方式雖然統籌存儲數據,解決了數據孤島問題,但難以滿足大規模的數據挖掘處理以及復雜分析的需求,因此需要構建一套高效便捷的數據管理架構。
在數據采集、存儲、應用的全過程中,形成了多種優化方法以提高實際效率。文獻[1-2]對數據倉庫抽取、轉換以及加載數據的功能過程進行了梳理,優化了任務調度策略,在軍備保障以及政務數據存儲中得到了良好的運用。文獻[3-9]則是構建了數據立方體模型,利用其易與聯機實時分析方法(On Line Transaction Processing,OLAP)結合的優點實現數據處理過程的優化。文獻[3]與文獻[4]將數據立方體模型與政區地圖相結合,實現了不同地區維度、不同統計方向下的數據統籌分析。文獻[7]介紹了數據立方體在港口環境下的實際應用,總結了數據立方體的構造以及軟件實現,運用實際數據進行了測試驗證,保證了數據立方體的有效性。在文獻[8]對犯罪預防分析與文獻[9]對輿情監測分析中,數據立方體模型起到了強力支撐作用,為復雜多要素情境提供多維度分析視角。文獻[10]將文本概念加入數據立方體,形成更豐富的應用環境;文獻[11]與文獻[12]則是將流數據與數據立方體結合,提出基于流數據的概要數據立方體,極大提高了索引效率。文獻[13-14]提出了有向圖方法對數據立方體進行詳細描述;文獻[15-16]分別就緊湊、封閉等數據立方體細分領域進行深入研究,提升數據立方體的數據查詢效率。
本文根據國內外研究及應用成果,將數據立方體概念引入到武器裝備測控領域,分析了數據立方體的設計思路,依據裝備測試數據的特點構建裝備測試數據的數據立方體模型,在不同維度上實現對測試數據的觀測,為之后的數據分析工作提供良好的數據交換平臺。
自Codd.E.F在20世紀70年代提出關系型數據模式以來[17],關系型數據庫以其結構簡單清晰、易于維護等優點得以快速發展。數據立方體是多維數據模型的一種具體表現形式,是基于關系數據庫的一類多維矩陣,能夠多維度展示數據,給用戶提供多個觀測和分析數據的視角[18-19]。數據立方體是對基本事件的屬性、度量值以及它們之間關聯的表現形式進行重構得到的,由維和事實定義。維是事實信息的屬性,至少包含維碼、維層次、維成員等基本屬性,由維的基本屬性構成的與之相關聯的表稱為維表。事實是數值度量的,事實表包括事實的名稱或度量,以及每個相關維表的維碼。
從名稱上看,數據立方體容易被理解是三維結構,但實際上它可以由n維構成,立方體是對多維數據存儲的一種比喻。多維數據模型圍繞中心主題組織構建,不同視角分析數據的實際需求以及主題所關聯的特性決定數據立方體的維度。也即是說,我們可以根據實際的分析需求對構成數據立方體的維度進行增減,優化數據結構,例如微軟曾構建過高達64維的多維數據模型。顯然,這是多維數據模型面向主題構建特性的體現。圖1展示了圍繞武器裝備試驗次數構建的數據立方體模型,該數據立方體提供時間、地點、裝備試驗次數3個數據分析視角,若想要分析不同環境下的試驗次數,則需設計一個環境維度重新構造數據立方體模型。

圖1 三維數據立方體示意圖
數據立方體是一個概念模型,它與物理模型的映射關系是通過確定維度以及維度內的成員、粒度、層次等要素來實現的。維度成員是構成維的基本單位,對應著該維的一個取值,例如對于時間維,第一季度是它的一個維成員。粒度是一個維度內為提供詳細分類信息而定義的劃分單位。粒度越粗表示細節程度越低、綜合程度越高;粒度越細表示細節程度越高、分類信息越詳實。信息詳實程度往往與數據總量呈正相關,即信息越詳實,數據規模越龐大。因此在資源有限的情況下,需要進行合理的粒度劃分,優化數據結構,提高查詢分析效率。粒度的粗細對應不同的級別,級別組成維度的層次結構。對于時間維的一個層次結構{年,半年,季}而言,年是第一級別,半年是第二級別,季是第三級別,這些級別間存在著“父子”包含關系。需要注意的是,同一維度內可以存在多個層次結構,例如時間維內可以有{年,半年,季,月}的層次結構,也可以有{年,月,日}的層次結構。
各維度的維成員在數據立方體內唯一邏輯標識確定的單位稱為數據格,該數據格存放聚集值。由所有維度最低級別的維成員確定的數據格稱為基本格,也稱基本方體;最高級別的維成員所確定的數據格稱為頂點方體;高層次級別的數據格聚集值由低層次數據格匯聚得到。在圖1中時間維度的“9月”成員、地點維度的“上海”成員以及武器裝備型號維度的“A型裝備”成員所唯一確定的方體存儲的量值為9,即是說在9月份上海有9次A型裝備試驗。
在數據立方體中并非每個方體內都包含量值,不具備任何信息的方體被稱為空方體。空方體不同于量值為0的方體,它通常是數據缺失或其他異常情況導致的,需要被特定標識。數據立方體中的空數據格作為一種特殊的數據格,體現了數據立方體模型的稀疏性,用基本空方體數與數據立方體的基本方體總數的比值來衡量稀疏性程度。空方體的這種特殊性會導致數值矩陣計算難以進行,所以在實際操作中忽略空數據格是一個不錯的選擇。
最初的關系型數據庫設計應用實體-聯系數據模型,通過鍵碼連接二維數據表實現數據存儲檢索[20]。這種關系模型在查詢時通過鍵值跳轉查詢,對數據的全局展示較差,并不利于數據的多維分析,也不適用于聯機分析處理。目前較為常用的數據倉庫模型是多維數據模型,主要有星形模型、雪花模型及事實星座模型3種樣式。
星形模式數據庫包括一個中心事實表與一組附屬維表兩大部分,各維表連接到一個大的中心事實表上,其連接圖形如星形。在該模型下,中心事實表包含事實數據信息以及各個維表的維碼,并且不含冗余項;維表數量與事實表中的維碼相對應,每個維表僅包含一組屬性。圖2為武器裝備測試數據的星形模型展開。

圖2 武器裝備測試數據的星形模型表示
雪花模型和事實星座模型都能夠由星形模型衍化而來,可以看做是星形模型的特殊形式。雪花模型是在星形模式的基礎上,將某些維表進行規范化處理,將數據進一步分解到附加表中得到的。相比于星形模式,雪花模式的優點在于某些維表是規范化的形式,易于維護,并且節省了存儲空間。不足之處在于規范附加維表后,執行查詢需要更多的連接操作,帶來瀏覽效率的降低,可能會影響系統的性能。因此,盡管雪花模式有一些優點,適用于一些特定的場合,比如地址的規范,但是在多維數據模型中星形模型應用更廣泛。
事實星座模型是將多個關聯的星形模型合并相同維表得到的。在實際的復雜應用情景中,存在有多個事實表相互關聯,表現為部分維表相同的情況,有多個中心事實表而共用相同維表的模型稱為事實星座模型。
數據立方體的構建需要分析實際應用場景,確定實際需求,從而明確數據倉庫的主題,而后依據中心主題進行數據立方體設計。本節首先分析武器裝備測試系統的實際需求,明確維度數量、維度間的關系以及各維度的層次結構,之后運用概念模型、邏輯模型以及物理模型三級數據模型方法實現數據立方體的構建。
武器裝備測試系統管理人員最關注武器裝備生產質量是否合格,最關注的參數是武器裝備的測試參數指標。由其研制過程來看,數據來源包括原理樣機測試數據、工程樣機測試數據以及定型測試數據,涵蓋了設計、定型、生產的各階段。因此可以以測試質量分析為中心主題構建一個數據立方體模型。但在實際操作過程中,由于武器裝備系統的復雜性以及各層次管理人員的不同分工管理,單一的測試數據中心主題不足以滿足實際需求。頂層設計人員需要從宏觀把控武器裝備型號立項,掌握全局信息,確定發展方向;中層管理人員需要確定測試項目及指標設計是否合理,從原理設計方面對其進行試驗驗證;技術操作人員需要檢驗生產質量,依據測試數據進行判讀分析;配套方單獨提供配套信息。因此在結合各方需求后,基本可以確定4個中心主題:武器裝備設計分析、武器裝備測試項目分析、武器裝備測試數據分析以及配套信息分析。由此,確定武器裝備測試數據立方體采用事實星座模式,由多個事實中心及其配套維表組成。事實星座模型設計可由多個星形模式合并相同維表得來,因此在下文分析中僅以武器裝備測試數據分析的星形模式為例分析數據立方體的構建方法及步驟,在此基礎上容易得到事實星座模式構建方法。
概念模型設計是在較高抽象層次上的設計,它面向武器裝備測試系統全局建立,為數據立方體的整體構建提供了全局的概念視圖。一方面,數據立方體是對武器裝備測試系統的歷史數據進行集成和整合而組成的數據大集合,需要充分考慮使用者的功能需求;另一方面,需要對武器裝備測試系統的數據內容及其特性有深入而清晰的理解,才能有針對性地設計完整方案。分析數據特性以及功能需求后,通過確定系統邊界和定義主題域來反映數據倉庫的概念模型。
武器裝備測試數據分析主題的需求是有效判別武器裝備生產質量,數據來源是測試數據信息。經過分析可以得到感興趣的分析視角,確定維度信息,即時間維度、武器裝備編號維度、測試種類維度、測試環境維度。時間維度中劃分年、月、日3個粒度級別;武器裝備編號維度中劃分型號、批次、編號3個粒度級別;測試總類維度中劃分全彈測試、艙段測試、單機測試3個粒度級別;測試環境維度中信息較為繁雜,并沒有明顯的“父子”包含關系,多以并列關系存在。圖3展示了武器裝備編號維度的詳細層次結構關系。

圖3 武器裝備編號維度的層次結構
考慮多維數據模型的多維特性,超出三維的數據模型無法有效展現,本文采用信息包圖表示多維數據。信息包圖采用二維表格的形式表示多維數據,它有3個重要對象:維度、粒度和指標對象。根據上文的分析,詳細確定了武器裝備測試數據分析主題的維度以及粒度層次信息;指標對象信息是實際度量值,在武器裝備測試主題中包括測試數據以及成功子樣。將各確定的維度對象、粒度對象以及指標對象信息匯總后,以信息打包的方式得到信息包圖,如圖4所示。

圖4 武器裝備測試數據信息包圖
邏輯模型是從概念模型到物理模型轉化的中間步驟。按照概念模型階段構建的基本對應關系,以及選定的數據模型形式要求,將概念模型轉化為相應的邏輯模型。這一階段的目的是確定各主題中包含的實體、各實體間的關聯關系是什么以及實體間是否有約束關系。按照轉換規則以及目的,武器裝備測試數據分析主題確定指標實體以及維度實體兩類實體。首先需要定義指標實體以及維度實體,其次是建立兩者間的聯系。指標實體包括數據指標和邏輯指標,數據指標即是主題域中所包含的數據,可以由信息包圖的指標對象構成;邏輯指標是指區分數據的邏輯關系,可以由各維度的最低級別類別構成,得到唯一確定的邏輯標識。這樣得到的數據與邏輯指標共同構成了星型圖的指標實體。維度實體由各維度的各層次對象構成,例如時間維度的維度實體為{年,月,日}。
指標實體包含維度實體的最低類別成員,因此指標實體與維度實體之間的關系可以通過邏輯模型中的詳細類別定義,實現一一對應的關系。在星型圖中,每個維度實體通過最底層的詳細類別實體和指標實體進行連接。由此構建得到星型圖模型,如圖5所示。

圖5 武器裝備測試星型圖
物理模型是根據邏輯模型的設計內容,在實際的物理具體介質上實現出來。物理模型階段不僅需要建立物理結構模型,而且需要規定數據標準,明確實具體特征,以便于在物理介質上進行具體操作。定義數據標準包括命名約定、數據類型、約束、索引等方面;實體特征包括值的類型、存儲長度等方面信息。
在得到的星型圖基礎上,要綜合考慮數據立方體模型中事實表與維度表的實體構建,以及它們之間的各種約束關系。根據邏輯設計的星型圖,將指標實體轉化為中心事實表,將維度實體轉化為維度表。事實表中不僅僅包含數據的指標量,還要包含維度實體中約定的主碼值,通過包含的主碼與維表的外碼構建事實表與維表之間的連接,因此主碼與外碼鍵值關系必須一一對應。即是說事實表中包含兩部分,一部分是與之連接的維表主碼值,另一部分是事實數據的量值。維表包含定義的外碼以及對應的一組維屬性。
在武器裝備測試數據分析主題中,事實表包含時間標識、編號標識、測試標識以及環境標識共同構成的組合維碼,以及測試指標數據和成功子樣的度量值信息。同時,事實表中還含有數據類型等約定規范信息,其具體的表結構如表1所示。

表1 武器裝備測試事實表
每個維都有與之對應的維表,它展現了維度的外碼鍵值、粒度級別信息以及約束信息。以武器裝備編號維度為例,維表包含了編號標識、{型號、批次、編號}等層次信息以及儲存類型、數值長度等約束信息,具體表結構如表2所示。

表2 武器裝備編號維度表
本文實驗數據來源于歷史儲存的裝備測試數據。該數據集中每一條數據樣本都有測試裝備信息,該裝備測試的時間、環境等輔助信息,反映不同測試類別的測試種類信息,以及反映裝備狀態的測試數據組成。在武器裝備測試數據管理平臺中,數據立方體配合聯機分析方法采用多維分析技術,實現數據的高效整合分析,并可在前端界面進行表格化展示。
數據立方體的多維分析技術是在構建的數據立方體框架內對數據進行轉換、整合分析,其具體的操作主要包括切塊、切片、下鉆、上卷以及旋轉。切片以及切塊操作是選擇特定目標數據進行查詢分析,下鉆與上卷操作是依據層次結構進行數據整合分析,旋轉操作是從不同方向研究指標數據在維上的分布。
圖6(a)展示了裝備編號維在下鉆操作下的前端顯示,圖6(b)展示了數據立方體在切塊操作下對特定區域數據的查詢顯示。可以看出,裝備編號維的下鉆操作是依照設定的層次結構依次向下進行的,體現了數據的從屬關系,能夠有效地在總體與細節上觀測數據;對數據立方體進行切塊查詢操作,選擇出需要的數據對象,能夠精細地整合數據,聚合同一類型的數據對象,為數據分析提供了現實數據基礎。

圖6 結果顯示
試驗結果分析發現,相較于表格存儲,對數據進行重構得到的數據立方體模型擁有更好的數據組織整合能力,能夠體現設計要求,提供多維度觀測分析的視角,實現了數據靈活精細地組織整合,滿足了數據查詢與分析的需求,為之后的數據挖掘提供了良好的數據基礎平臺。
龐大的數據規模以及精細化管控目標不僅要求采用合適的數據分析方法得到有價值的知識,而且需要對數據進行更深入的挖掘,更全面的分析。本文采用數據立方體模型建立了層次和級別表達機制,以及多維視角的數據觀測模式,能夠有效地支撐數據的多維度分析挖掘需求。依照三級數據模型設計方法,詳細介紹了武器裝備測試數據立方體的構建過程,具有可操作性。數據立方體存儲模型既能夠實現在時間、裝備編號等維度的統計分析,又能在型號、批次等粒度層面實現橫向對比分析,支持全方位、多視角的數據觀測,有利于展開綜合性對比關聯分析。