何麗++劉改平
摘要:數據倉庫和OLAP技術已經大量應用在金融業(yè)和商業(yè)管理中并取得了良好的效果。如何從海量軟件著作權登記數據中發(fā)現有用的信息,是軟件版權登記主管部門迫切關心的問題,也是軟件登記者和擁有者十分關注的問題。圍繞這一問題創(chuàng)建了一個ETL(Extract-transform-load)工程用于從原始OLTP數據庫中獲取數據,并且構建適合OLAP分析的數據倉庫,最后用OLAP多維分析思想實現了數據分析功能,為管理決策人員提供快捷、簡單、直觀的查詢分析。
關鍵詞:OLAP;OLTP;數據倉庫;多維數據分析
中圖分類號:TP311 文獻標識碼:A DOI: 10.3969/j.issn.1003-6970.2015.10.022
引言
自實行軟件著作權登記以來,各大版權登記單位都累積了十多年的登記數據,這些數據中包含了大量的登記者和管理者關注的信息。傳統(tǒng)的統(tǒng)計方法對這些數據不能進行有效的分析利用,如何對這些海量的登記數據進行有效分析得出對管理決策有用的結論,是版權登記主管部門和軟件設計者擁有者迫切關心的問題。大量的歷史數據反應出的信息,也可作為軟件設計者和軟件所有者制作軟件尋找創(chuàng)意的重要依據。
OLAP技術近年來在各個行業(yè)都有應用,充分說明了OLAP分析海量數據的優(yōu)越性和準確性,并且國際各大數據庫公司也相繼開發(fā)了用于OLAP分析的工具軟件。在國內,OLAP技術也引起廣大科研人員的興趣。本文結合軟件著作權登記系統(tǒng)中的大量數據,對OLAP技術進行了詳細應用。
1 0LAP技術概述
OLAP是數據倉庫的主要應用,并且已經用在很多商業(yè)和金融業(yè)中用以挖掘歷史數據背后的知識。OLAP主要用于對大量數據的分析,OLTP(在線事務處理)主要是保存當前事務的數據到數據庫中,底層數據庫系統(tǒng)是OLAP與OLTP的數據源,數據倉庫則構成了二者共同的基礎,OLAP和OLTP關注的角度都有很大的不同。數據倉庫、OLAP以及數據挖掘技術針對這類問題為管理人員提供了解決方案。數據倉庫(data warehouse)是將聯機事務處理累積的大量數據經過重新加工進行存儲管理,并且可以進行數據分析和挖掘,數據庫由大量的數據表組成,數據倉庫則是由數據庫中的數據和大量的索引,存儲過程,視圖等等組成。
OLAP主要是基于多個維度進行數據查詢和分析的,達到決策支持的目的。OLAP能使分析人員管理人員從不同的角度對企業(yè)數據進行快速、一致和交互的存取。OLAP的多維操作方法有切片,切塊,旋轉和鉆取,其中切片是基于某一維度進行數據展現,切塊可以看作是多次切片的疊加,旋轉是交換了行或者列。鉆取分為上鉆或下鉆,上鉆是得到匯總性數據,比如原結果是季度數據,上鉆可以得到年內數據,下鉆是得到更詳細的數據。
2 0LAP實施方案選取
目前企業(yè)主要分兩種方案應用OLAP:一是利用已有的OLAP 工具創(chuàng)建,二是利用開發(fā)工具根據用戶關注的維度白行開發(fā)分析工具。這兩種方案各有特色,第一種方案可以從現有的規(guī)則上創(chuàng)建和管理用于OLAP分析的數據庫,由于采用著名數據庫廠商的現有工具所以能夠創(chuàng)建完善的DSS系統(tǒng),缺點是不夠靈活,需要用戶熟練此類軟件的一些操作,而且其英文界面不方便國內用戶操作,另外還需重金購買。第二種方案因為功能有限,只能進行小型應用,但優(yōu)點是可根據用戶的實際需求定制,比較靈活。所以本文定制開發(fā)了適用于著作權數據分析的OLAP系統(tǒng),底層數倉據庫使用雪花型組織模式。本系統(tǒng)的整體設計結構如下圖1所示:
3 系統(tǒng)結構設計
a)構建適合OLAP分析的數據倉庫
本系統(tǒng)沿用了數據倉庫中的ETL過程,但主要功能是完成對業(yè)務系統(tǒng)數據的抽取、清洗和裝載,即ECL過程,并沒有遇到轉換過程。從原始OLTP數據庫中抽取所需數據到數據倉庫中以只讀形式保存,抽取過程中對原操作數據庫中的數據進行清洗。因為原始數據庫中的數據已經是按照關系數據庫的規(guī)則結構化存儲,所以僅需要對某些字段進行清洗操作。本數據倉庫的可擴展性實現方法是增量進行加載新的數據。對原有分散的數據庫數據抽取、清理的基礎上經過系統(tǒng)加工、匯總和整理得到的,必須消除源數據中的不一致性,以保證數據倉庫內的信息是關于整個企業(yè)的一致的全局信息。先從原數據庫抽取所需數據,直接將抽取數據生成的文件裝入數據倉庫的操作型數據層,在數據倉庫中盡可能少做轉換以保證原始數據的原貌。因登記系統(tǒng)的登記量巨大,而且原登記系統(tǒng)用的是關系數據庫組織數據,本系統(tǒng)考慮到ROLAP在處理關系數據庫方面的優(yōu)勢和MOLAP處理多維數據的優(yōu)勢,所以采用HOLAP方式存儲抽取的的數據。
b)維度表和事實表的連接
本文組織軟件細節(jié)數據的組織形式如圖2所示,由一個主信息表和六個維表組成,其中申請人維表里邊有著作權人信息和代理人信息,所以采用了雪花模型。
4 系統(tǒng)實現
a) ETL 工程的創(chuàng)建
在eclipse下創(chuàng)建web 工程用于數據的抽取和加載,把原OLTP事務數據庫中的數據提取到支撐OLAP系統(tǒng)的數據庫中,系統(tǒng)流程如下圖3本系統(tǒng)ETL結構圖。
(1)先在本地數據庫中根據已經設計好的雪花模型創(chuàng)建數據庫和數據表。
(2)創(chuàng)建數據庫連接,使本地數據庫與原事務數據庫連接成功。
(3)用程序調用批處理函數抽取數據到本地數據庫
b) OLAP分析工程的創(chuàng)建
本系統(tǒng)采用開發(fā)工具創(chuàng)建工程進而多維化處理登記數據分析需求,數據分析工程的創(chuàng)建也是基于Javaweb。本系統(tǒng)在IntelliJ IDEA12平臺上創(chuàng)建,效果展示在web頁面上。利用開發(fā)工具開發(fā)針對軟件登記系統(tǒng)的分析系統(tǒng),并且采用能分層次處理大規(guī)模數據的HOLAP技術,手動構建底層關系數據庫和高層多維立方體,并構造專屬的OLAP多維引擎,以設計適合分析版權登記系統(tǒng)的靈活的OLAP系統(tǒng)。本系統(tǒng)結構如圖4:
整個OLAP系統(tǒng)采用B/S模式,大致分為4層,第一層是源數據層數據都來自原始的登記系統(tǒng),存儲了整個登記系統(tǒng)五年內的業(yè)務數據。第二層是OLAP數據倉庫層。源數據層的數據是面向登記應用的需要將這些數據進行結構化處理之后保存到OLAP數據倉庫中便于OLAP多維分析。第三層是OLAP服務器層,保存了底層聚集和高層聚集的結果,用戶的多位分析請求進入OLAP服務器后會先匹配是否已經存在聚集分析的維度,如果有把這個聚集結果返回給用戶如果沒有系統(tǒng)再對用戶需求的維度進行聚集分析。第四層是應用層主要用于跟用戶交互,用戶通過這層傳遞自己關注的維度也通過這層看到返回的結果。本系統(tǒng)的核心是OLAP服務器,這塊主要有立方體計算和多維引擎組成,下邊主要針對這兩點進行分析,并給出優(yōu)化策略。
5 結論
本文介紹了OLAP技術在軟件版權登記領域的運用,與以往的OLAP分析不同,因為以往的大多OLAP分析都會運用sqlserver和Oracle自帶的OLAP工具進行數據分析。本文提出了一個新的多維立方體模型和算子模型,并將這個模型應用于軟件著作權登記數據分析中,為這類數據分析提供了應用實例。并設計了一個完善的OLAP系統(tǒng)。在以后的工作中,我們將進一步完善這一OLAP分析模型,探討其在各種大數據多維分析領域的實現。