朱東妹
(安徽師范大學 圖書館,安徽 蕪湖 241003)
隨著計算機網(wǎng)絡技術的發(fā)展,云計算技術已經(jīng)從概念轉變到實際各領域應用中。在數(shù)字圖書館領域,中國高等教育文獻保障系統(tǒng)(CALIS)三期項目實施過程中的種種新技術、新理念的及時推送,讓高校數(shù)字圖書館在建設的過程中技術支撐理念發(fā)生了突飛猛進的變化,如聯(lián)機編目系統(tǒng)、公共目錄檢索系統(tǒng)、中西文資源導航系統(tǒng)、文獻傳遞服務網(wǎng)、集團采購統(tǒng)一平臺、數(shù)字圖書館解決方案等,各省中心館及地方高校成員館可以按需使用面向圖書館的云服務。在這種背景下,高校數(shù)字圖書館每一筆圖書著錄、讀者借還等業(yè)務數(shù)據(jù)都記錄在數(shù)據(jù)庫中;另外,讀者通過網(wǎng)絡訪問數(shù)字圖書館中各種數(shù)字資源的信息,也都存在web日志中,日積月累,圖書館中積累了大量的業(yè)務數(shù)據(jù)。那么,如何分析這些數(shù)據(jù)為圖書館業(yè)務、管理和決策服務,以進一步提高圖書館的服務質量,成為圖書館信息化建設的一個重大課題。
商務智能(Business Intelligence),就是在必要的時間期限內(nèi)把準確且有用的信息傳遞給適當?shù)臎Q策者,為其制定有效決策提供支持[1],主要包括數(shù)據(jù)倉庫、OLAP聯(lián)機分析及數(shù)據(jù)挖掘等數(shù)據(jù)處理、分析技術。其中數(shù)據(jù)倉庫技術以關系數(shù)據(jù)庫及分布式處理技術為基礎,集成各種異構數(shù)據(jù)源,多步合并并存儲這些數(shù)據(jù)。其特征是:面向主題的、集成的、非易失的及隨時間不斷變化的;OLAP聯(lián)機分析處理技術是數(shù)據(jù)倉庫技術的繼續(xù)與延伸,其通過多維數(shù)據(jù)模型實現(xiàn)數(shù)據(jù)倉庫的前端展示,為決策人員提供當前的、歷史的情況分析[2];數(shù)據(jù)挖掘技術與前面OLAP聯(lián)機分析處理技術有本質的區(qū)別,其通過對大量業(yè)務數(shù)據(jù)或數(shù)據(jù)倉庫數(shù)據(jù)選擇并利用各種數(shù)據(jù)挖掘算法建模,挖掘那些不能靠經(jīng)驗或直覺而發(fā)現(xiàn)的信息或知識,所得到的信息具有先前未知、有效及實用等特征[3]。近年來,隨著云計算技術的發(fā)展,商務智能技術在各領域得到很大的發(fā)展。
基于Microsoft SQL Server 2008的解決方案,介紹商務智能技術在高校圖書館的應用。
Microsoft SQL Server 2008解決方案中提供了包括自上而下和自下而上兩種數(shù)據(jù)倉庫建模方式[4]。自上而下的設計方法強調應用決定數(shù)據(jù),首先根據(jù)大局需求建立數(shù)據(jù)倉庫多維數(shù)據(jù)模型,然后從業(yè)務OLTP系統(tǒng)中抽取所需數(shù)據(jù),再進行數(shù)據(jù)轉換,最后加載到各主題的數(shù)據(jù)倉庫中。該方法需要進行大量的業(yè)務需求分析,需要大量的時間與用戶交流、決策,數(shù)據(jù)倉庫模型靈活性差。自下而上的設計方法從業(yè)務OLTP系統(tǒng)中的數(shù)據(jù)出發(fā),將這些數(shù)據(jù)元素組織到各個指標及維度中,然后建立數(shù)據(jù)倉庫多維數(shù)據(jù)模型。該方法見效快,可以并行開發(fā),但是各數(shù)據(jù)集之間兼容性差,維護、共享困難大。
一個成功的數(shù)據(jù)倉庫系統(tǒng)是一個不斷進行反饋的系統(tǒng),因此文章采用兩種方法相結合的設計思路,既根據(jù)業(yè)務決策需求又兼顧業(yè)務系統(tǒng)現(xiàn)存數(shù)據(jù)情況,進行數(shù)據(jù)倉庫設計與建模。
通過對館內(nèi)各部門需求分析,最終確定圍繞讀者入館、圖書采購、館藏圖書、圖書流通、數(shù)字資源利用、參考咨詢服務等主題來建立多維數(shù)據(jù)集。多維數(shù)據(jù)集由事實表和維表構成,其中事實表中包括各維度外鍵值及度量值,度量是一個用來表達組織某方面效能的數(shù)值型的量值,如“入館人數(shù)”“借閱次數(shù)”“借閱冊數(shù)”“資源下載次數(shù)”等。度量和維度的存儲布局有兩種:星型架構與雪花架構。星型架構以事實表為中心,一組維表通過外鍵與事實表連接組成一個星型結構,該架構是非范式的。雪花架構是在星型架構的基礎上對某些維進行擴展,以便更好地描述一些復雜的維度,如在描述讀者專業(yè)信息維的同時會包括其學院信息,一個學院有多個專業(yè),多個專業(yè)會擁有同一個學院,用一個表來描述會出現(xiàn)學院信息冗余,而由兩張表來表示是一個比較好的解決辦法。本文以其中圖書流通分析主題為例,構建其數(shù)據(jù)倉庫模型,如圖1所示。
圖1 圖書流通業(yè)務OLTP系統(tǒng)與OLAP系統(tǒng)對應關系
涉及到的圖書流通業(yè)務OLTP系統(tǒng)關系數(shù)據(jù)表有讀者信息表、圖書信息表以及流通日志表。其中讀者信息表中“讀者記錄號”唯一確定一位讀者,圖書信息表中“文獻條碼號”唯一確定一本書,通過圖書流通日志表將讀者和圖書兩者進行關聯(lián),構建事實表;通過讀者信息表構建專業(yè)、學院、年級及讀者流通類型等讀者相關維度;通過圖書信息表構建圖書分類、館藏地點、館藏狀態(tài)及圖書流通類型等圖書相關維度;時間維度可以自動生成,也可以根據(jù)流通日志表中的操作日期信息手動構建時間維度。其中讀者專業(yè)維與學院維,館藏地點維與校區(qū)維,形成雪花架構。最終在 SQL Server 2008 Analysis Services(SSAS)中構成OLAP系統(tǒng)數(shù)據(jù)倉庫模型,其圖書流通業(yè)務OLTP系統(tǒng)關系數(shù)據(jù)表與數(shù)據(jù)倉庫OLAP多維模型對應關系。
針對數(shù)據(jù)的提取和加載,Microsoft SQL Server 2008提供了一個名為SQL Server 2008 Intergration Services(SSIS)高性能數(shù)據(jù)集成和工作流解決方案。通過該方案可以將 OLTP業(yè)務系統(tǒng)中的數(shù)據(jù)抽取到 OLAP系統(tǒng)中,并且可以按OLAP要求轉換數(shù)據(jù)的格式。SSIS項目的基本的執(zhí)行單元是“包”,一個SSIS項目可以包括多個包。SSIS包主要包括兩部分內(nèi)容:控制流和數(shù)據(jù)流,其中數(shù)據(jù)流提供的是數(shù)據(jù)轉換服務,能夠完成文本文件、EXCE文件向關系數(shù)據(jù)庫的轉換;控制流由一系列任務組成,如執(zhí)行循環(huán)、加載數(shù)據(jù)、執(zhí)行 SQL語句等。另外,一個包只有一個控制流,而一個控制流可以擁有一個或多個數(shù)據(jù)流。
為了將每天產(chǎn)生的流通日志自動地抽取到數(shù)據(jù)倉庫中,創(chuàng)建了圖書流通日志SSIS包,該包的控制流中使用了For each循環(huán)容器、數(shù)據(jù)流、執(zhí)行SQL任務及發(fā)送郵件任務。其中通過For each循環(huán)容器將每天新增的日志文件插入到 SQL Server中,循環(huán)成功則執(zhí)行后面 SQL任務,不成功則發(fā)送郵件給管理員。圖書流通日志SSIS包:控制流與數(shù)據(jù)流圖,如圖2所示。
圖2 圖書流通日志SSIS包控制流與數(shù)據(jù)流圖
數(shù)據(jù)倉庫中包含了業(yè)務系統(tǒng)中每天產(chǎn)生的大量細節(jié)數(shù)據(jù),因為整個數(shù)據(jù)倉庫分析系統(tǒng)中有多個主題,每個主題都對應一個事實表,在不同事實表構建的過程中,為了避免大量數(shù)據(jù)的重復存儲,本文中采用了視圖技術。視圖作為數(shù)據(jù)庫中的一種實體,實際上存在的只是它的腳本,而它的內(nèi)容并不真正的物理存在;它是一個虛擬表,表中數(shù)據(jù)來源于查詢腳本中所引用的表,并且在引用視圖時實時并動態(tài)生成。如可根據(jù)讀者信息表、圖書信息表、流通日志表之間的關系,構建圖書流通分析主題的事實表視圖語句。
確定粒度是數(shù)據(jù)倉庫開發(fā)者需要面對的又一個重要的設計問題[5]。粒度是數(shù)據(jù)在數(shù)據(jù)倉庫中保存的細化級別,影響存放在數(shù)據(jù)倉庫中的數(shù)據(jù)量的大小及查詢問題的細節(jié)程度。粒度越大,綜合程度越高,細節(jié)程度越低,回答查詢的種類就越少;粒度越小,回答查詢的種類越多,但是會降低查詢效率。通常按時間段綜合數(shù)據(jù)的粒度[6]。
每年本學校圖書借還系統(tǒng)中產(chǎn)生約1 200 000條借還記錄,根據(jù)實際分析需要和系統(tǒng)中產(chǎn)生的記錄條數(shù),我們采用了多重粒度級別,如圖書流通分析主題中對最近一學年的數(shù)據(jù)采用最低級別,從專業(yè)和圖書小類兩個維度進行聚集,可以進行按日匯總的信息分析;對超過一學年,四學年以下的數(shù)據(jù),又從操作時間上進行了月份級別的聚集,對超過4年以上的數(shù)據(jù),在操作時間上進行了年度級別的聚集。從而達到提高查詢速度及細化分析結果的目的。
通過SSIS集成服務將業(yè)務數(shù)據(jù)抽取、轉換及加載到數(shù)據(jù)倉庫之后,下一步需要根據(jù)不同的分析主題建立多維數(shù)據(jù)集。打開Microsoft Visual Studio建立Analysis Services項目,連接數(shù)據(jù)源,并且建立數(shù)據(jù)源視圖,即可建立不同主題的多維數(shù)據(jù)集。建好多維數(shù)據(jù)集后本應用選擇了三種存儲格式中的MOLAP存儲格式,對立方體進行處理,MOLAP能夠自動地建立索引,有良好的預計算能力,支持高性能的決策支持計算,建立的圖書流通分析多維數(shù)據(jù)集,如圖3所示。通過對不同主題多維數(shù)據(jù)集的建立可以大大加快工作中的統(tǒng)計分析的速度,并且可以從多個角度進行查詢統(tǒng)計,很好地解決了圖書借還業(yè)務系統(tǒng)中統(tǒng)計難、速度慢的問題。
除了多維分析外,SQL Server 2008 Analysis Services(SSAS)還提供大量數(shù)據(jù)挖掘算法。利用不同的挖掘算法可以較好地解決諸如讀者的需求分析和個性化服務、借閱規(guī)律分析、各種數(shù)字資源利用情況及館藏建設等問題。圖4為利用關聯(lián)規(guī)則挖掘算法,對圖書借閱過程中,讀者專業(yè)與圖書類別之間聯(lián)系的描述。將2011級本科學生在2012年~2014年借閱圖書數(shù)據(jù)作為訓練數(shù)據(jù)進行挖掘,得到讀者專業(yè)與圖書類別在借閱規(guī)律上的邏輯關系,如從挖掘結果中可以看出,本校 TP類圖書在2011級本科中借閱最多的是生物科學專業(yè)學生,而不是計算機專業(yè)學生;F7貿(mào)易經(jīng)濟類圖書,是漢語言文學專業(yè)的學生借閱最多等。
因此通過數(shù)據(jù)挖掘可以發(fā)現(xiàn)隱藏在數(shù)據(jù)里面一些不易被工作人員日常工作中發(fā)現(xiàn)的讀者借閱規(guī)律,運用這個規(guī)律可以更好地進行各專業(yè)讀者借閱習慣進行分析與預測,以便為讀者提供更多更優(yōu)質的服務。
圖3 圖書流通分析多維數(shù)據(jù)集
圖4 關聯(lián)規(guī)則挖掘結果
在當今前所未有的信息時代,知識的獲取將成為最終目標,而對圖書館各系統(tǒng)中產(chǎn)生的信息處理和利用能力的強弱是決定圖書館服務質量的關鍵。這就需要一種快捷有效的方式發(fā)現(xiàn)隱藏在龐雜信息當中的模式和知識,以便決策[7]。依據(jù)商務智能工具,能夠幫助圖書館循序漸進地實現(xiàn)商務智能,輔助圖書館管理者做出有效決策。
[1] Brian Larson.商務智能實戰(zhàn)[M].北京:機械工業(yè)出版社,2011:7-300.
[2] 池太崴.數(shù)據(jù)倉庫結構設計與實施[M].北京:電子工業(yè)出版社,2005:1-200.
[3] 蔣盛益,李霞,鄭琪等.數(shù)據(jù)挖掘原理與實踐[M].北京:電子工業(yè)出版社,2011:6-7.
[4] 劉玉紅,羅曉沛.航空票務系統(tǒng)OLAP數(shù)據(jù)倉庫設計與實現(xiàn)[J].計算機工程與設計,2009,30(2):345-347.
[5] 呂海燕,車曉偉.數(shù)據(jù)倉庫中數(shù)據(jù)粒度的劃分[J].計算機工程與設計,2009,30(9):2323-2328.
[6] 張興會.數(shù)據(jù)倉庫與數(shù)據(jù)挖掘技術[M].北京:清華大學出版社,2011:28-29.
[7] 殷利艷.信息資源可視化研究初探[J].唐山師范學院學報,2009,31(2):156-157.