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