李玉泉,武彤
?。ㄙF州大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,貴州 貴陽 550025)
摘要:如何節(jié)省在科學(xué)儀器設(shè)備管理工作中對數(shù)據(jù)分析投入的人力物力并提高管理效率是科技管理部門十分關(guān)注的問題。利用數(shù)據(jù)倉庫技術(shù)可以對現(xiàn)有的科學(xué)儀器設(shè)備數(shù)據(jù)進行多維分析,以便有效利用分析數(shù)據(jù)輔助管理者決策。文章?lián)朔治隽丝茖W(xué)儀器設(shè)備數(shù)據(jù)源,提出了分析主題,通過模型設(shè)計、ETL功能以及OLAP功能的設(shè)計,實現(xiàn)了一個基于數(shù)據(jù)倉庫的科學(xué)儀器設(shè)備數(shù)據(jù)分析系統(tǒng)。系統(tǒng)的開發(fā)研究證明了數(shù)據(jù)倉庫技術(shù)在科學(xué)儀器設(shè)備管理上應(yīng)用的可行性,并為進一步建立基于數(shù)據(jù)倉庫的科技數(shù)據(jù)決策支持系統(tǒng)打下了基礎(chǔ)。
關(guān)鍵詞:科學(xué)儀器設(shè)備;數(shù)據(jù)倉庫;ETL;OLAP
中圖分類號:TP311文獻標識碼:ADOI: 10.19358/j.issn.1674-7720.2017.01.027
引用格式:李玉泉,武彤. 基于數(shù)據(jù)倉庫的科學(xué)儀器設(shè)備數(shù)據(jù)分析系統(tǒng)[J].微型機與應(yīng)用,2017,36(1):89-92.
0引言
科學(xué)儀器設(shè)備是科學(xué)研究、技術(shù)創(chuàng)新的基礎(chǔ)條件,先進的科學(xué)儀器設(shè)備體現(xiàn)了國家的科技發(fā)展水平,高精的大型科學(xué)儀器能夠更好地幫助科學(xué)家獲得科研成果[1]。為了增強科技對經(jīng)濟社會發(fā)展服務(wù)支撐的能力,促進全社會科技資源高效配置和綜合集成,各省都建立了大型科學(xué)儀器設(shè)備共享平臺,通過共享平臺實現(xiàn)了對科學(xué)儀器設(shè)備信息進行登記維護,并可以進行預(yù)約服務(wù)等功能,從而實現(xiàn)科學(xué)儀器設(shè)備(特別是大型儀器設(shè)備)的資源共享,集中管理[2]。隨著科學(xué)儀器設(shè)備平臺的不斷應(yīng)用,產(chǎn)生了大量的數(shù)據(jù),對這些數(shù)據(jù)進行分析挖掘,將得到很多隱藏在數(shù)據(jù)后面的信息,有效地利用這些信息,將為管理人員提供科學(xué)決策依據(jù)。然而目前對科學(xué)儀器設(shè)備數(shù)據(jù)的統(tǒng)計分析還停留在人工分析的階段,這樣造成了分析數(shù)據(jù)不準確,統(tǒng)計分析時間漫長,數(shù)據(jù)分析結(jié)果不能支持決策。
而數(shù)據(jù)倉庫是一個面向主題的、集成的、相對穩(wěn)定的、反映歷史變化的數(shù)據(jù)集合,可用于支持管理決策過程[3]。本文以某省的科學(xué)儀器設(shè)備共享平臺為數(shù)據(jù)源,利用數(shù)據(jù)倉庫的相關(guān)技術(shù)建立了基于數(shù)據(jù)倉庫的科學(xué)儀器設(shè)備數(shù)據(jù)分析系統(tǒng),該系統(tǒng)可以在數(shù)據(jù)倉庫基礎(chǔ)上進行OLAP分析并實現(xiàn)分析結(jié)果清晰展現(xiàn),以滿足相關(guān)管理人員的決策需求。
1數(shù)據(jù)源分析
某省現(xiàn)有的科學(xué)儀器設(shè)備共享平臺中主要包括儀器設(shè)備信息、提供服務(wù)信息、服務(wù)預(yù)約信息。該平臺所具有的事務(wù)統(tǒng)計功能主要是統(tǒng)計儀器設(shè)備的地理分布情況、在不同學(xué)科的數(shù)量價值、每年新增儀器的數(shù)量價值等信息。通過對數(shù)據(jù)源進行分析發(fā)現(xiàn)儀器設(shè)備的使用率、共享率以及儀器設(shè)備提供服務(wù)的信息也是管理人員在管理工作中希望掌握的重要指標[4]。所以在原有的事務(wù)統(tǒng)計基礎(chǔ)上,提出以下數(shù)據(jù)分析需求:
1.1使用分析
儀器設(shè)備使用分析是針對平臺上登記過的儀器設(shè)備,根據(jù)每年提供的使用機時等信息,結(jié)合近幾年使用情況,科技部門可以針對某些熱門領(lǐng)域或某些地區(qū)的儀器設(shè)備加大補助,擴大宣傳;而提供方可以根據(jù)儀器設(shè)備使用情況,考慮增置或減配相關(guān)設(shè)備,增加或減少年對外使用機時等對策。使用分析主要包括對使用率和共享率的分析。
使用率計算方法為:年機時/額定機時×100%,額定機時一般為200×8小時,如果使用率大于100%,則記錄具體值,而不計為100%;共享率計算方法為:年對外機時/年機時×100%,若共享率大于100%,則計為100%[5]。
1.2服務(wù)分析
儀器設(shè)備提供了加工、檢測等服務(wù),而服務(wù)計費方式各種各樣,所以需要統(tǒng)計儀器服務(wù)計費方式的分布情況,通過對比觀察計費方法的合理性。結(jié)合儀器報廢年限、年使用情況、服務(wù)計費等,分析其服務(wù)成本、計費是否合理等信息,為儀器提供方節(jié)約成本,為服務(wù)需求方提供合理的收費模式。
2模型設(shè)計
2.1概念模型設(shè)計
概念模型設(shè)計是數(shù)據(jù)倉庫模型設(shè)計的首要工作[6]。通過概念設(shè)計,可以確定數(shù)據(jù)倉庫的主要主題以及相互關(guān)系。
根據(jù)上述的需求分析,要解決的問題有兩個。第一是關(guān)于現(xiàn)有儀器的使用情況,儀器使用需要從儀器的基本信息、所在地、所屬學(xué)科等方面進行分析;第二是關(guān)于儀器的服務(wù)情況,由于想要看到儀器服務(wù)收費是否合理,所以需要收集服務(wù)的類型、收費類型、收費等信息。根據(jù)這兩個問題,可以確定該數(shù)據(jù)倉庫的主題有兩個:儀器設(shè)備主題——分析儀器設(shè)備使用,服務(wù)主題——分析服務(wù)現(xiàn)狀。所需要的數(shù)據(jù)有儀器設(shè)備數(shù)據(jù)、服務(wù)數(shù)據(jù)。對各主題的屬性信息的描述如表1所示。
2.2邏輯模型設(shè)計
由于該數(shù)據(jù)倉庫建立在關(guān)系型數(shù)據(jù)庫基礎(chǔ)上,在數(shù)據(jù)倉庫中采用的邏輯模型就是關(guān)系模型,它描述了數(shù)據(jù)倉庫主題的邏輯實現(xiàn),即每個主題所對應(yīng)的關(guān)系表的關(guān)系模式的定義。
數(shù)據(jù)倉庫的設(shè)計是一個逐步求精的過程[7],在進行設(shè)計時,一般是一次一個或多個主題逐步完成,由于系統(tǒng)中只有兩個主題,所以這里直接裝載儀器和服務(wù)兩個主題。數(shù)據(jù)粒度方面,由于源數(shù)據(jù)中存在具體到日的時間信息,所以日期方面遵從“最小粒度”原則,其他的數(shù)據(jù)也可以選擇最小數(shù)據(jù)粒度。在儀器主題中,由于受關(guān)心的儀器共享率和使用率是由現(xiàn)有的“年機時”、“年可用機時”等計算而來,所以這些度量值可以直接在OLAP模型中添加,對于“服務(wù)”主題也是如此。最終數(shù)據(jù)倉庫的邏輯模型如圖1所示。
2.3物理模型設(shè)計
物理模型是邏輯模型在數(shù)據(jù)倉庫中的實現(xiàn)模式,如數(shù)據(jù)的索引策略、數(shù)據(jù)的存儲策略等[8]。數(shù)據(jù)倉庫的邏輯模型適合采用位圖連接索引,在數(shù)據(jù)倉庫環(huán)境中使用這種索引改進連接維度表和事實表的查詢性能。數(shù)據(jù)源即科學(xué)儀器共享平臺中儀器和服務(wù),其主鍵采用的是25位字符串,查詢效率低,所以在數(shù)據(jù)倉庫的儀器和服務(wù)表中設(shè)置代理鍵[9],而在其他表中添加替代鍵。其中,代理鍵是自增整數(shù),而替代鍵是不會重復(fù)的值,例如日期表中的替代鍵可以是字符型,值為具體的日期(中文的年和月),這樣可以大大地提高查詢效率。而且為了方便管理數(shù)據(jù),單位、地理位置和學(xué)科分類等信息從儀器表中分離為單獨的表。
3ETL設(shè)計
ETL過程,包含從各種數(shù)據(jù)源抽取數(shù)據(jù),把數(shù)據(jù)轉(zhuǎn)換為“干凈的”、一致的、可用的數(shù)據(jù),然后把數(shù)據(jù)加載到數(shù)據(jù)倉庫中。它是數(shù)據(jù)倉庫實現(xiàn)過程中最重要的一個環(huán)節(jié)[10]。本系統(tǒng)采用SQL Server和SSIS結(jié)合進行ETL實現(xiàn)。
通過對數(shù)據(jù)源數(shù)據(jù)分析,日期、儀器設(shè)備所在地區(qū)、學(xué)科類型等數(shù)據(jù)是固定不變的,這些數(shù)據(jù)可以進行全量加載,而儀器設(shè)備信息、服務(wù)信息會隨著時間不停地更新,所以對于這些數(shù)據(jù)設(shè)置增量加載機制,這里采用時間戳方式增量抽取數(shù)據(jù)[11]。在數(shù)據(jù)轉(zhuǎn)換過程中主要是對數(shù)據(jù)類型、枚舉數(shù)據(jù)、字符格式等進行轉(zhuǎn)換,數(shù)據(jù)倉庫在裝載數(shù)據(jù)時為了避免主外鍵約束可以先把外鍵刪除,實現(xiàn)順序裝載。
ETL的實現(xiàn),使用編碼和SSIS工具共同完成。采用SQL代碼實現(xiàn)枚舉數(shù)據(jù)的映射,例如單位類型在源數(shù)據(jù)中為1,代表事業(yè)單位,這里可以直接把“事業(yè)單位”存入其中,建立日期表也需要用到SQL語句;SSIS可以對ETL整個過程進行安排[12],圖2是通過SSIS平臺設(shè)計的對儀器設(shè)備數(shù)據(jù)進行抽取、轉(zhuǎn)換和加載的過程,其他數(shù)據(jù)的ETL過程均類似于圖中的形式。在SQLServerAgent中把這些SSIS作業(yè)設(shè)置為定時任務(wù)可以實現(xiàn)ETL過程周期進行。
4分析功能實現(xiàn)
在數(shù)據(jù)倉庫的基礎(chǔ)上,利用SSAS可以建立對應(yīng)的OLAP模型,本系統(tǒng)中OLAP模型與數(shù)據(jù)倉庫模型的不同主要在于OLAP模型中為了方便數(shù)據(jù)展示添加了多對計算成員,圖3是OLAP模型中儀器設(shè)備多維數(shù)據(jù)模型,圖中帶有計算器符號的列均是計算成員。
多維表達式(MultiDimensional Expressions,MDX)是標準的OLAP查詢語言[13],多數(shù)OLAP Server都提供MDX支持,如SSAS、Hyperion Essbase等,MDX支持多維數(shù)據(jù)定義和操作。在SSRS中配合MDX不僅能實現(xiàn)第一部分所提出的數(shù)據(jù)分析功能,還可以生成包括各種圖形的報表,并且可以方便地集成到ASP.NET開發(fā)的Web系統(tǒng)中。
為了分析上文提到的數(shù)據(jù)指標,在SSRS中使用下面的MDX語句生成“查詢數(shù)據(jù)集”,該數(shù)據(jù)集包括了儀器設(shè)備共享率和使用率在地區(qū)、學(xué)科類型、日期的值。
WITH MEMBER [Measures].[儀器設(shè)備共享率]
AS [Measures].[對外年機時]/[Measures].[年機時]
MEMBER [Measures].[儀器設(shè)備使用率]
AS [Measures].[年機時]/([Measures].[儀器數(shù)量]*1600)
SELECT NON EMPTY {
[Measures].[儀器設(shè)備共享率], [Measures].[儀器數(shù)量], [Measures].[儀器設(shè)備使用率], [Measures].[對外年機時], [Measures].[年機時] } ON COLUMNS,
NON EMPTY { (
?。跠imDate].[Year].[Year].ALLMEMBERS *
[DimGeography].[省-市縣].[CITYNAME].
ALLMEMBERS*[DimDiscipline].[大-中-?。?
[SMALLNAME].ALLMEMBERS *[DimDepartment].
?。跶UALITY_CN].[QUALITY_CN].ALLMEMBERS*
?。跠imInstrument].[VALUERMB].[VALUERMB].
ALLMEMBERS) } ON ROWS
FROM [儀器使用情況]
圖4年新增儀器設(shè)備數(shù)量走勢根據(jù)上述MDX語句可以得到一系列的報表,圖4是年新增儀器設(shè)備數(shù)量走勢,目前獲取年新增儀器設(shè)備數(shù)量的方式是源數(shù)據(jù)平臺維護人員每年在數(shù)據(jù)庫中查詢,而走勢圖需要統(tǒng)計人員手工繪制,費時費力。圖5是2015年儀器設(shè)備使用率學(xué)科分布圖,從圖中可以看到分析儀器是使用率最高的。圖6是儀器設(shè)備年使用率走勢圖,從圖中可以看到近幾年儀器設(shè)備使用的情況,其他數(shù)據(jù)的呈現(xiàn)方式相同。
由于SSRS與Web系統(tǒng)開發(fā)平臺ASP.NET良好的兼容性,所以該系統(tǒng)使用ASP.NET開發(fā)。報表展示方面,使用ASP.NET下的ReportViewer控件和調(diào)用IReportServerCredentials接口實現(xiàn)瀏覽器中查看操作報表,下載報表為Excel或PDF文件[14]。
5結(jié)論
本文以某省大型科學(xué)儀器設(shè)備共享平臺為基礎(chǔ),通過對平臺上的源數(shù)據(jù)進行分析,提出了決策分析主題,建立了基于數(shù)據(jù)倉庫的科學(xué)儀器設(shè)備數(shù)據(jù)分析系統(tǒng),該系統(tǒng)能夠完成OLAP分析,并能清晰地展現(xiàn)分析結(jié)果,數(shù)據(jù)分析結(jié)果能夠有效地輔助管理者進行科學(xué)決策。系統(tǒng)的開發(fā)研究證明了數(shù)據(jù)倉庫技術(shù)在科學(xué)儀器設(shè)備管理上應(yīng)用的可行性,并為進一步建立基于數(shù)據(jù)倉庫的科學(xué)數(shù)據(jù)決策分析系統(tǒng)打下了基礎(chǔ)。
參考文獻
?。?] 孫麗.大型科學(xué)儀器設(shè)備資源配置優(yōu)化研究[D]. 北京:北京交通大學(xué),2015.[2] 肖李鵬,湯光平.國內(nèi)外大型科學(xué)儀器設(shè)備開放共享分析及對策[J].實驗室研究與探索,2016,35(4):275-278.
?。?] 宋杰.面向多類型數(shù)據(jù)源的數(shù)據(jù)倉庫構(gòu)建及ETL關(guān)鍵技術(shù)的研究[D]. 沈陽:東北大學(xué),2008.
?。?] 徐靜,王大洲.我國大型科學(xué)儀器設(shè)備使用狀態(tài)分析及政策含義[J].工程研究跨學(xué)科視野中的工程,2010,2(3):209-216.
?。?] 王麗珍,周麗華,陳紅梅,等.數(shù)據(jù)倉庫與數(shù)據(jù)挖掘原理及應(yīng)用(第2版)[M]. 北京:科學(xué)出版社,2014.
?。?] INMON W H. Building the data warehouse[M].NewYork:John Wiley & Sons,Inc,2005.
?。?] 虞健飛,朱家元,張恒喜.數(shù)據(jù)倉庫設(shè)計過程研究[J].計算機工程,2003,29(19):4-5.
?。?] 王曉鵬,武彤.生產(chǎn)質(zhì)量控制數(shù)據(jù)倉庫模型設(shè)計與實現(xiàn)[J].計算機技術(shù)與發(fā)展,2015(6):181184.
?。?] 徐姝,羅軍.代理鍵技術(shù)及其在軟件復(fù)用中的應(yīng)用[J].微電子學(xué)與計算機,2007,24(8):136138.
?。?0] ROOT R, MASON C. Pro SQL Server 2012 BI Solutions[M].Apress,2012.
?。?1] 戴浩,楊波. ETL中的數(shù)據(jù)增量抽取機制研究[J].計算機工程與設(shè)計,2009,30(23):55525555.
?。?2] KNIGHT B, VEERMAN E,MOSS J M, et al. SQL Server 2012 Integration Services高級教程(第2版)[M].王凈,謝連朋,譯. 北京:清華大學(xué)出版社,2014.
?。?3] 蔡艷寧,葉雪梅,汪洪橋,等.軍事訓(xùn)練考核數(shù)據(jù)倉庫模型設(shè)計與實現(xiàn)[J].計算機工程, 2006,32(1):276-278.
?。?4] TURLEY P, BRUCKNER R,SILVA T,et al. SQL Server 2012 Reporting Services高級教程(第2版)[M].顏炯,譯. 北京:清華大學(xué)出版社,2014.