賈生 王宇
〔摘要〕從科研人員的實際需求出發(fā),基于對期刊文獻的理解與分析,首先設計了針對文獻數據的解析流程,確定了期刊文獻數據倉庫三層體系結構;進而采用三級維度建模技術具體構造數據倉庫三級模型;最后利用SQL Server 2008平臺實現了一個期刊文獻數據倉庫原型系統(tǒng),并利用該數據倉庫對文獻資源進行了OLAP操作,取得了較好的分析效果。
〔關鍵詞〕文獻數據倉庫;文獻數據解析;體系結構;三級維度建模;OLAP
收稿日期:2011-03-10
基金項目:教育部人文社科研究項目“期刊文獻知識元挖掘及知識倉庫構建研究”(項目編號:09YJA870005)研究成果之一
作者簡介:賈 生(1985-),男,碩士研究生,研究方向:文獻資源管理。
DOI:10.3969/j.issn.1008-0821.2011.06.019
〔中圖分類號〕G203 〔文獻標識碼〕B 〔文章編號〕1008-0821(2011)06-0069-04
Design and Implementation on Periodical Literature Data Warehouse
Jia Sheng Wang Yu
(College of Management Science and Engineering,Dalian University of Technology,Dalian 116024,China)
〔Abstract〕With the actual requirements of scientist workers,this text firstly designed a data analysis process for periodical literature and determine the three-tier architecture of periodical literature data warehouse based on the understanding and analysis of periodical literature.Then constructed a tree-level model of date warehouse by three dimensional modeling technology.Finally,implemented a prototype system of periodical periodical literature data warehouse based on SQL Server 2008 platform, making OLAP operations towards the periodical literature data warehouse and have achieved good results.
〔Key words〕literature data warehouse;literature data analysis;architecture;three-dimensional modeling;OLAP
文獻是一種寶貴的信息資源,是人們獲取信息和知識的一個重要渠道,而期刊又是所有文獻類型中最重要的信息情報來源,據統(tǒng)計向人們提供了所需文獻信息的50%~70%。近年來,隨著數據庫技術、網絡技術和數字化圖書館技術的飛速發(fā)展以及數據庫管理系統(tǒng)的廣泛應用,使得以電子期刊文獻為主要形式的文獻資源不斷膨脹。如何從浩如煙海的文獻資源中獲取有用的信息和知識始終是科學工作者所關心的一個問題同時也是圖書情報學研究的一個重要方向。目前,各級各類圖書館特別是大中型圖書館都擁有了大量如CNKI(中國期刊全文數據庫)、VIP(維普資訊)、萬方等大型文獻數據庫系統(tǒng),這些數據庫系統(tǒng)為人們獲取文獻提供了方便快捷的途徑。但由于這些文獻資料大多以摘要或全文的形式存儲在計算機中,計算機不能對這些文獻資料進行更深層次的數據挖掘,而需要人工對所檢索的信息進行分析處理,其處理效率和深度都非常低[1]。因此,建立一個文獻數據倉庫系統(tǒng),對期刊文獻信息進行深度挖掘,使讀者迅速、準確獲取所需要的信息,為決策需要面向主題進行數據重組具有非常重要的意義。
當前數據倉庫技術已相當成熟,應用也日益廣泛。但在文獻資源管理領域,論述文獻數據倉庫建設思想[2-4]的文獻目前還很少,詳細介紹文獻數據倉庫設計方法和實施過程的文獻更是鳳毛麟角。在國外,Owen Kaser[4]等于2006年提出過文獻OLAP(聯(lián)機分析處理)項目,Steven W.Keith[5]對文獻數據倉庫的不同存儲方法進行了研究。近年來,國內學者也對文獻數據倉庫建設進行了思考和探索,其中徐慧所提出的文獻數據倉庫系統(tǒng)設計的4個步驟[1],對文獻數據倉庫建設具有重要啟發(fā)。但這些研究都沒有涉及文獻數據倉庫的詳細設計和具體實現。由于期刊文獻結構規(guī)范,信息量大,覆蓋面廣,數據也易于提取、處理和管理,研究起來相對方便也具有可行性,因此我們選取期刊文獻作為本文的研究對象,通過建立一個文獻數據倉庫原型系統(tǒng)來研究期刊文獻數據倉庫的設計和實現流程,并利用該數據倉庫進行OLAP分析。
1 期刊文獻數據倉庫分析
由于期刊文獻資源的特殊性,如何高效地獲取期刊文獻資源數據并對其進行解析和處理是期刊文獻數據倉庫實施的關鍵,設計一個合理的數據倉庫體系結構是期刊文獻數據倉庫建設的基礎。
1.1 源數據的獲取和解析問題分析
期刊文獻數據倉庫的構建應以文獻數據庫系統(tǒng)為基礎。因此我們選取現有的文獻數據庫系統(tǒng)作為期刊文獻數據倉庫的數據源,從中提取滿足分析需要的數據。但是,以常規(guī)渠道從現有的文獻數據庫中獲得的數據包含很多冗余,也存在格式不一致等諸多問題,并不能直接加載到數據倉庫中,因而必須首先對其進行解析和預處理?;诖?,我們設計了一個期刊文獻數據解析流程來對源數據進行預處理。本文選擇維普資訊(VIP)中文科技期刊數據庫(1989-2010年9月底)作為文獻資料來源。文獻的檢索方法是:在“分類檢索”中選擇“社會科學總論”下的“管理學”中的“管理計劃與控制”進行搜索,得到351篇文獻記錄。以50篇為1個單位下載這351篇文獻的全部詳細信息,得到1個txt文本。進而利用JAVA編程對該文本文件進行處理,得到相應的excel文件。該excel文件包含除標題欄外351條記錄,分別記錄每篇文獻的題名、作者、機構、刊名、ISSN號、CN號、館藏號、關鍵詞、分類號和文摘信息,將其作為數據源文件。再利用VBA編程進行數據處理,刪除如館藏號之類無用的信息,并對原來包括期刊名、年份等數據的刊名信息進行分解得到期刊名、年份、卷號、期號和頁碼信息,將機構信息分解得到機構和地區(qū)信息,最終處理后的部分結果如圖1所示。
圖1 源數據解析結果
1.2 期刊文獻數據倉庫總體結構分析
數據倉庫作為一個系統(tǒng),是多種技術的綜合體,結合期刊文獻數據的特點和決策分析的需要,我們將期刊文獻數據倉庫設計為結構化的三層體系結構,如圖2所示自底向上依次為數據獲?。馕鰧印⒋鎯Γ芾韺雍头治觯瘧脤尤糠?。
圖2 期刊文獻數據倉庫總體結構
1.2.1 數據獲取/解析層
該層是期刊文獻數據倉庫與普通企業(yè)數據倉庫相區(qū)別的地方。由于從外部數據源(主要指文獻數據庫系統(tǒng))獲取的數據不能直接加載到期刊文獻數據倉庫,因而在該層我們要首先通過上文設計的文獻數據解析流程對獲取的源數據進行解析處理進而得到可以直接進行加載的數據倉庫數據源。
1.2.2 存儲/管理層
該層是聯(lián)結數據層和分析層的橋梁,是期刊文獻數據倉庫的主體部分。本層首先通過抽取、轉換和加載,填充和實現了數據倉庫,并對數據倉庫中的數據予以存儲。同時該層還負責利用數據倉庫管理工具對所存儲的數據進行管理和維護以保證數據倉庫的正常工作。
1.2.3 分析/應用層
該層是期刊文獻數據倉庫的功能部分,也是與傳統(tǒng)文獻數據庫系統(tǒng)的根本區(qū)別所在。面向系統(tǒng)的一般用戶,通過OLAP向用戶展示查詢、分析的結果,滿足用戶決策需要,最終實現對期刊文獻資源的數據深度分析和挖掘。
2 期刊文獻數據倉庫三級維度建模
數據倉庫模型設計可分為自上而下(從需求出發(fā))與自下而上(從底層數據出發(fā))兩種。三級規(guī)范化維度建模過程分為:概念模型、邏輯模型與物理模型3個階段[6]。在期刊文獻數據倉庫設計中我們依據對數據的深入分析,選取期刊文獻作為數據倉庫分析的主題,將數據驅動與需求驅動相結合,采用三級維度建模方法進行數據倉庫的設計。
2.1 概念模型設計
概念模型的設計是以信息打包的方法用二維表格的形式反映主題數據多維性,從總體上表示用戶對信息的需求。根據對期刊文獻數據倉庫的分析,可以確定信息包圖的3個對象:(1)定義關鍵性能指標:文獻數。(2)定義維度:時間維、作者維、文獻維、期刊維、機構維、分類維、期刊類型維、地區(qū)維。(3)定義各個維度的類別:類別提供一個維的詳細信息。由于篇幅所限本文對各個類別定義不進行深入說明,其中由于文獻的關鍵詞和作者大多是幾個組合在一起,為降低粒度以便進一步對每個關鍵詞和作者進行分析,我們首先用一個共編號來表示關鍵詞和作者的組合,然后在下層具體情況表中再分別對每個作者和關鍵詞進行編號和說明;對文獻全文內容在數據倉庫中我們暫時不予以存儲,僅以存放位置進行標識。在各種詳細類別確定之后,將各個維度對象、指標對象以及類別對象用信息打包的方式,形成一個如圖3所示的完整信息包圖。
圖3 期刊文獻信息包圖
2.2 邏輯模型設計
建立了完整的信息包圖后,就需要將信息包圖轉換成星形圖。按照轉換的原則,首先定義指標實體,指標實體是由數據指標和邏輯指標構成的。信息包圖的指標對象對應著星型圖中的數據指標,而每個維度的最低級類別可以納入邏輯指標中,這樣得到的數據指標和邏輯指標共同構成了星型圖中的指標實體。接下來,要定義維度實體,維度實體對應信息包圖的維度對象,它位于星形圖的角上,用菱形表示。隨著指標實體、維度實體在星形圖上的定位,就要進一步定義兩者的關系。有了各種實體后,我們就可以建立一個完整星形圖。根據信息包圖和星形圖,我們可以初步確定數據倉庫中應包括八個維度表和一個事實表。同時為減少數據冗余我們將作者維、文獻維和期刊維,進一步細分建立詳細類別表(用八邊形表示)使之具有較低的粒度,這樣原來的星形圖模型就擴展為如圖4所示的雪花模型。
圖4 雪花模型圖
2.3 物理模型設計
數據倉庫物理模型是邏輯模型在數據倉庫中的實現。主要解決如何組織和存儲數據以滿足系統(tǒng)處理的要求,如處理速度、響應時間和存儲容量等問題。建立物理模型是一個從邏輯模型向更加具體的依賴于數據庫平臺的物理形式轉化的過程,如實體到表、記錄到行、屬性到列、關系到外鍵、惟一標識符到主鍵的轉化過程等[7]。在期刊文獻數據倉庫設計中,我們以信息包圖和雪花型模型為基礎設計各個表最終結構,其中在設計期刊文獻事實表時以各個維度表的主鍵為公共主鍵同時加入一列文獻數指標、各個維度表的設計以信息包圖中的相應類別為表中各個列、首行為各表的主鍵,具體情況表的設計相對比較簡單,設計完各個表我們要確定事實表、維度表和具體情況表之間的關系最終形成事實表/維度表關系基本結構,然后再考慮確定索引策略、數據存放位置及存儲分配等。最后我們用SQL Server 2008平臺建立數據倉庫的基本結構。
3 期刊文獻數據倉庫的實現及應用
經過比較分析,我們選取Microsoft SQL Server 2008的商業(yè)智能解決方案來部署數據倉庫并進行OLAP分析。SQL Server 2008商業(yè)智能平臺主要包括以下三大服務:Analysis Services(分析服務),Integration Services(集成服務),Reporting Services(報告服務)和一個工具:Business Intelligence Development Studio(商業(yè)智能開發(fā)套件),使數據倉庫實現和OLAP變得更為便捷高效。
3.1 數據的抽取、轉換和加載及Cube創(chuàng)建
數據的抽取、轉換和加載(ETL)是源數據庫和數據倉庫之間的橋梁也是數據倉庫生成實現的主要步驟。本文采用SQL Server Integration Services(SSIS)服務將包含解析后期刊文獻數據的Excel表格導入到已創(chuàng)建的數據庫中并創(chuàng)建一個完整的SSIS包,然后將數據裝載到期刊文獻數據倉庫中。數據倉庫是在RDBMS中管理的一個結構特殊的數據庫,Cube(數據立方)是從數據倉庫中提取的全部或部分表構成的多維數據集合,是進行OLAP分析的前提。SQL Server 2008中的Analysis Services是建立和管理多維數據集并對Cube進行分析的工具,在創(chuàng)建時我們先使用多維數據集向導,按照設計文檔建立量度、維度,再通過SSAS提供的工具自動生成關系架構,最終自上而下的創(chuàng)建數據立方[8]。至此,期刊文獻數據倉庫已基本上部署完成了。
3.2 基于期刊文獻數據倉庫的OLAP
能夠進行分析處理是數據倉庫區(qū)別于傳統(tǒng)數據庫系統(tǒng)的最主要特征,也是我們設計期刊文獻數據倉庫的根本目的。OLAP通過多維的方式對數據進行分析、查詢和定制報表并以多維視圖的形式從多個角度、多個側面及多個層次向用戶展示分析結果[9]。OLAP分析的基本多維分析操作有切片(slice)、切塊(dice)、鉆取(roll-up)、下鉆(drill-down)及轉軸(pivot)等[8]。我們以期刊文獻數據倉庫為平臺,利用SSAS服務逐步實現了以上操作。由于篇幅所限,我們僅以切塊和轉軸操作為例介紹和展示一下OLAP的效果。切塊是在立方體中的3個維上取一定區(qū)間的屬性成員或全部屬性成員。如圖5中左圖所示,我們選取地區(qū)、機構和作者3個維度來分析,通過切塊我們可以發(fā)現地區(qū)編號為R43、機構編號為1000099和作者共編號為CA000045等3個維組合的文獻數、地區(qū)編號R43匯總數以及地區(qū)編號R43和機構編號1000099等2個維組合的匯總數。轉軸又稱旋轉,是改變一個報告或頁面顯示的維方向,它轉動數據的視角,提供數據的替代表示。通過進行轉軸和旋轉操作我們可以靈活的從多個角度觀察數據。如圖5中的右圖所示,通過轉軸操作,年編從左側標注轉換到上部標注我們可以更靈活地選取所需的數據。通過這些操作,我們可以根據需要對期刊文獻資源進行分析和挖掘從中發(fā)現所隱含的信息和知識。
圖5 OLAP切塊、轉軸效果圖
4 結束語
隨著文獻數據庫系統(tǒng)的迅速發(fā)展,如何對海量增長的文獻資源進行分析、開發(fā)和利用是亟待解決的問題。本文將數據倉庫技術應用于文獻資源管理領域,確定了期刊文獻數據倉庫的特有結構,采用三級規(guī)范化維度建模方法設計數據倉庫,利用SQL Server 2008平臺實現了期刊文獻數據倉庫原型系統(tǒng)并在其基礎之上運用聯(lián)機分析處理工具進行多維分析,提供多視角查詢分析文獻數據資源,為科學研究者搭建了一個綜合、面向分析的平臺。期刊文獻數據倉庫設計與實現的最終目的是為了對期刊文獻數據的知識發(fā)現,本文的研究對期刊文獻數據倉庫建設研究具有一定意義也為今后進行文獻知識倉庫的構建和知識挖掘奠定了一定的基礎。
接下來針對期刊文獻資源的分析和挖掘研究還有許多工作要做。目前我們所設計的期刊文獻數據倉庫還沒有考慮參考文獻這一重要數據,也沒有涉及對文獻內容的分析處理。下一步我們將會考慮以參考文獻信息為分析對象利用數據倉庫技術對期刊文獻資源進行引文分析;同時研究對期刊文獻內容的知識表示、存儲、檢索和分析等問題,結合知識元研究理論,以期刊文獻數據倉庫體系結構為基礎構建期刊文獻知識倉庫,從而進一步實現對文獻資源的知識挖掘。
參考文獻
[1]徐慧.文獻數據倉庫系統(tǒng)設計方法[J].煤礦自動化,2000(1):29-32.
[2]徐彬榮.論文獻數據倉庫邏輯建模[J].情報雜志,2005,(4):63-65.
[3]徐彬榮.文獻數據倉庫新探索[J].情報雜志,2004,(5):57-60.
[4]O.Kaser,S.Keith,D.Lemire.The LitOLAP project:Data warehousing with literature,in:CaSTA06,2006.
[5]Steven W.Keith.Efficient storage methods for a literary data warehouse[D].Master餾 thesis,UNB,2006.
[6]邢攸達.港口生產數據倉庫設計方法研究[D].大連:大連理工大學,2007.
[7]邢攸達,王宇,潘明霞.港口生產數據倉庫設計與實現[J].計算機輔助工程,2007,16(4):84-89.
[8]朱德利.SQL Server 2005數據挖掘與商業(yè)智能完全解決方案[M].北京:電子工業(yè)出版社,2007.
[9]楊武成,孫俊茹,張武剛.基于OLAP的礦井局部通風系統(tǒng)故障數據倉庫的建立[J].工礦自動化,2008,(3):9-11.