曾 蔚
(泉州師范學(xué)院數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,福建 泉州 362000)
基于云計(jì)算的移動(dòng)商業(yè)智能系統(tǒng)研究*
曾 蔚
(泉州師范學(xué)院數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,福建 泉州 362000)
針對傳統(tǒng)商業(yè)智能系統(tǒng)在實(shí)時(shí)性、交互性和通用性上的不足,通過借鑒云計(jì)算強(qiáng)大的計(jì)算和存儲能力,提出了一種Hadoop與關(guān)系數(shù)據(jù)庫相結(jié)合的高實(shí)時(shí)移動(dòng)商業(yè)智能系統(tǒng)解決方案.系統(tǒng)采用Hadoop架構(gòu)替代數(shù)據(jù)倉庫,實(shí)現(xiàn)了海量數(shù)據(jù)的分布式存儲及分析計(jì)算,將高實(shí)時(shí)及高效請求交給處理效率更高的關(guān)系數(shù)據(jù)庫,充分利用云計(jì)算的虛擬技術(shù)提升移動(dòng)商業(yè)智能系統(tǒng)的海量數(shù)據(jù)處理能力;不僅降低了成本,更使得企業(yè)資源得到充分、靈活的應(yīng)用,提高企業(yè)市場快速反應(yīng)力與競爭力.
移動(dòng)商業(yè)智能;云計(jì)算;Hadoop;關(guān)系數(shù)據(jù)庫;Map/Reduce
傳統(tǒng)的商業(yè)智能系統(tǒng)大多只為決策人員服務(wù),且受到安全因素影響,分析數(shù)據(jù)更多地只能在本地用戶終端體現(xiàn),而體現(xiàn)的方式幾乎都是普通的電腦.隨著計(jì)算技術(shù)和互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,銷售、市場和決策人員的流動(dòng)性和活動(dòng)空間越來越大,涉及決策的管理人員越來越多,信息傳遞的實(shí)時(shí)性和交互式要求越來越高,這就對商業(yè)智能提出了更高的要求.下一代商業(yè)智能的發(fā)展要求其不僅僅能為高層決策者提供戰(zhàn)略型決策,同時(shí)也能為企業(yè)內(nèi)其他層次用戶提供戰(zhàn)術(shù)型決策和操作型決策[1].而企業(yè)內(nèi)中層、基層管理人員及一線員工通常因外出工作而無法及時(shí)在電腦前查詢分析數(shù)據(jù).同時(shí),近年來發(fā)行的各種智能手機(jī)及平板電腦已經(jīng)能夠存儲大量數(shù)據(jù),提供豐富的人機(jī)交互,甚至能展現(xiàn)各種復(fù)雜的可視化數(shù)據(jù),這使得將商業(yè)智能分析數(shù)據(jù)移植于移動(dòng)設(shè)備成為可能.然而,目前移動(dòng)設(shè)備的計(jì)算能力和存儲能力與PC機(jī)相比仍然存在很大的差距,具備強(qiáng)大的計(jì)算力和存儲力的云計(jì)算為實(shí)現(xiàn)終端的智能提供了保證,將大量的計(jì)算和存儲操作運(yùn)行在廉價(jià)且高效的云中,將PC機(jī)、移動(dòng)終端設(shè)備與瘦終端作為云計(jì)算的端,將商業(yè)智能分析通過用戶隨身攜帶的智能手機(jī)等移動(dòng)終端將信息實(shí)時(shí)交付給企業(yè)內(nèi)所有層次用戶,甚至是客戶及商業(yè)合作伙伴,這將使得企業(yè)能夠?qū)γ媾R的問題做出快速反應(yīng),改善客戶服務(wù),從而贏得競爭優(yōu)勢,使企業(yè)資源得到充分、靈活的應(yīng)用.
隨著移動(dòng)互聯(lián)網(wǎng)的迅速發(fā)展,移動(dòng)商業(yè)智能己成為商業(yè)智能的一個(gè)新的發(fā)展方向.基于移動(dòng)互聯(lián)網(wǎng)應(yīng)用的商業(yè)智能不僅能夠?qū)⑦^去局限的商業(yè)智能應(yīng)用擴(kuò)展到企業(yè)各層次員工,提高商業(yè)智能系統(tǒng)的利用率,而且還使得商業(yè)智能系統(tǒng)提供實(shí)時(shí)訪問分析成為可能.與傳統(tǒng)商業(yè)智能相比,移動(dòng)商業(yè)智能具備以下幾個(gè)特點(diǎn)∶第一,能夠隨時(shí)隨地實(shí)時(shí)訪問企業(yè)商業(yè)智能應(yīng)用,員工不再因地理位置而受訪問限制;第二,信息主動(dòng)推送及個(gè)性化定制,企業(yè)可根據(jù)實(shí)際情況預(yù)先為各類員工定制按時(shí)推送信息,也可根據(jù)用戶的個(gè)性化定制進(jìn)行信息推送服務(wù);第三,實(shí)時(shí)監(jiān)控預(yù)警,當(dāng)突發(fā)事件出現(xiàn)時(shí),系統(tǒng)直接將警報(bào)信息發(fā)送到用戶的移動(dòng)設(shè)備,這使得員工可以及時(shí)采取措施避免損失.
云計(jì)算是一種近幾年興起的一種新型技術(shù)架構(gòu),將計(jì)算任務(wù)分布在大量計(jì)算機(jī)構(gòu)成的資源池上,使各種應(yīng)用系統(tǒng)能夠根據(jù)需要獲取計(jì)算能力、存儲空間和各種軟件服務(wù)[1].云計(jì)算具有低成本、安全可靠、可擴(kuò)展等突出優(yōu)點(diǎn),它通過虛擬機(jī)、鏡像部署執(zhí)行等方法為用戶提供服務(wù)[2].云計(jì)算與商業(yè)智能的結(jié)合將進(jìn)一步促進(jìn)移動(dòng)商業(yè)智能的應(yīng)用.首先,云計(jì)算可以增強(qiáng)商業(yè)智能處理海量數(shù)據(jù)的能力.將運(yùn)算及存儲能力通過網(wǎng)絡(luò)遷移到云端,能夠完成PC機(jī)無法應(yīng)付的數(shù)據(jù)處理任務(wù),用戶只需通過PC機(jī)、移動(dòng)設(shè)備等終端即可完成類似以往在PC機(jī)上的各種操作.而用戶也無需為商業(yè)智能應(yīng)用添置高性能移動(dòng)設(shè)備,因?yàn)樵朴?jì)算最大程度地實(shí)現(xiàn)了資源共享,消除了時(shí)間和空間的限制.除此之外,傳統(tǒng)商業(yè)智能的海量數(shù)據(jù)處理集中于數(shù)據(jù)倉庫,近年來數(shù)據(jù)倉庫的發(fā)展己能夠大規(guī)模并行處理海量數(shù)據(jù)并對分析數(shù)據(jù)進(jìn)行高效管理,而受到Map/Reduce框架強(qiáng)力支持的Hadoop是一種基于集群分布式架構(gòu),不論海量數(shù)據(jù)處理、成本、運(yùn)算速度還是穩(wěn)定性都優(yōu)于數(shù)據(jù)倉庫.其次,云計(jì)算能夠提升商業(yè)智能的時(shí)效性.云計(jì)算能夠讓商業(yè)智能在更短的時(shí)間內(nèi)獲取交易數(shù)據(jù),執(zhí)行更強(qiáng)的數(shù)據(jù)分析功能,在突發(fā)事件發(fā)生時(shí)提供及時(shí)的信息反饋,充分發(fā)揮移動(dòng)商業(yè)智能的實(shí)時(shí)優(yōu)勢[3].第三,云計(jì)算與商業(yè)智能的結(jié)合將降低成本.傳統(tǒng)基于數(shù)據(jù)倉庫的商業(yè)智能部署相當(dāng)昂貴,除商業(yè)智能與數(shù)據(jù)倉庫以外還需要承擔(dān)IT成本和部署、前端商業(yè)智能展現(xiàn)工具的費(fèi)用,在低成本地區(qū)建立大規(guī)模數(shù)據(jù)中心可以幫助企業(yè)在電力、網(wǎng)絡(luò)帶寬、軟件和硬件等方面降低成本.以往資金能力不足以搭建自己的商業(yè)智能平臺的中小企業(yè)無需購買任何硬件,無需安裝軟件,只需通過SaaS模式租用位于云端的移動(dòng)商業(yè)智能應(yīng)用.云計(jì)算與商業(yè)智能的結(jié)合可以使企業(yè)以較少的價(jià)格得到靈活且有彈性的商業(yè)智能服務(wù).
系統(tǒng)利用云計(jì)算的虛擬化技術(shù)建立了基礎(chǔ)設(shè)施層、平臺層、支撐層和應(yīng)用層,其架構(gòu)如圖1所示.
圖1 基于云計(jì)算的移動(dòng)商業(yè)智能系統(tǒng)架構(gòu)
應(yīng)用層提供了各種商業(yè)智能應(yīng)用,如數(shù)據(jù)挖掘、OLAP、即席查詢及實(shí)時(shí)事務(wù)處理.PC機(jī)及瘦客戶端用戶可以通過瀏覽器或者特定的客戶端訪問和使用這些服務(wù),持有移動(dòng)設(shè)備用戶可使用各類移動(dòng)終端通過移動(dòng)通信網(wǎng)或無線網(wǎng)連接平臺使用服務(wù),系統(tǒng)將為持有不同類型設(shè)備的用戶提供不同的界面及功能.
支撐層負(fù)責(zé)處理應(yīng)用層中的應(yīng)用請求,對其業(yè)務(wù)處理邏輯進(jìn)行智能調(diào)度.商業(yè)智能系統(tǒng)面臨的是巨量且不同存儲和計(jì)算的請求,可分為海量數(shù)據(jù)處理請求、日常信息處理請求、高性能計(jì)算請求等.智能調(diào)度根據(jù)請求類型進(jìn)行判斷,若該請求對計(jì)算需求很小可以在關(guān)系數(shù)據(jù)庫中找到則直接訪問關(guān)系數(shù)據(jù)庫;若請求需要較大的計(jì)算量和存儲量則需要提交云計(jì)算平臺執(zhí)行并行計(jì)算.由于用戶的移動(dòng)設(shè)備可能是平板電腦等高性能智能設(shè)備,也可能是較為普通的低性能手機(jī),智能優(yōu)化識別各種移動(dòng)設(shè)備不同的存儲和計(jì)算能力并依據(jù)用戶請求內(nèi)容進(jìn)行度量,為不同類型移動(dòng)設(shè)備提供最適合其存儲和計(jì)算能力的瀏覽結(jié)果.
平臺層采用了分布式存儲環(huán)境與關(guān)系數(shù)據(jù)庫相結(jié)合的模式.企業(yè)各類網(wǎng)站產(chǎn)生的數(shù)據(jù)通過數(shù)據(jù)分析及抽取,將高實(shí)時(shí)性數(shù)據(jù)及低實(shí)時(shí)性數(shù)據(jù)分別抽取到關(guān)系數(shù)據(jù)庫與分布式存儲環(huán)境中,部分被頻繁請求的分析數(shù)據(jù)也在分布式計(jì)算環(huán)境完成后同時(shí)導(dǎo)入到關(guān)系型數(shù)據(jù)庫和分布式存儲環(huán)境中,進(jìn)一步提高移動(dòng)商業(yè)智能系統(tǒng)的訪問速度.分布式計(jì)算平臺將用戶請求分解為多個(gè)并行的子任務(wù),充分利用環(huán)境中的多個(gè)計(jì)算資源節(jié)點(diǎn),加速分析計(jì)算處理的過程.
基礎(chǔ)設(shè)施層分為接口層、虛擬系統(tǒng)層、虛擬化層和物理資源層這四個(gè)子層.物理資源層將服務(wù)器、存儲和網(wǎng)絡(luò)等資源組織為資源池的方式進(jìn)行統(tǒng)一管理,以獲得最大資源利用率.虛擬化層利用虛擬化技術(shù)將硬件資源劃分為“虛擬硬件”,從而提供虛擬CPU、存儲、虛擬網(wǎng)絡(luò)等更細(xì)粒度的資源.虛擬系統(tǒng)層打破了操作系統(tǒng)與物理資源之間的約束,該層中的虛擬機(jī)只能看到虛擬化層提供的虛擬硬件,不必考慮物理服務(wù)器的情況,從而提供更高的資源利用率和靈活性.接口層將基礎(chǔ)設(shè)施的服務(wù)通過API的方式提供給上層.
Hadoop是一個(gè)能夠?qū)Υ罅繑?shù)據(jù)進(jìn)行分布式處理的框架,實(shí)現(xiàn)了 Google的 Map/Reduce應(yīng)用[4].Hadoop是一種典型的主從式結(jié)構(gòu),其基本結(jié)構(gòu)如圖2所示,上層是主從式的Map/Reduce處理,下層是主從式的HDFS文件系統(tǒng).HDFS集群包括一個(gè)NameNode和若干DataNode,NameNode負(fù)責(zé)管理各個(gè)DataNode和維護(hù)系統(tǒng)的元數(shù)據(jù),DataNode用于實(shí)際對數(shù)據(jù)的存放,與用戶直接建立數(shù)據(jù)通信.NamedNode作為文件系統(tǒng)負(fù)責(zé)運(yùn)行在Master上,而DataNode運(yùn)行在每個(gè)機(jī)器上.Hadoop實(shí)現(xiàn)了 Google的 Map/Reduce,JobTracker負(fù)責(zé)整個(gè)Map/Reduce的控制工作運(yùn)行在Master上,TaskTracker則運(yùn)行在每個(gè)機(jī)器上執(zhí)行Task.對于一個(gè)大文件,Hadoop把它切割成一個(gè)個(gè)大小為16MB~64MB的塊.這些塊是以普通文件的形式分布存儲在各個(gè)節(jié)點(diǎn)上的.通過此種方式,來達(dá)到數(shù)據(jù)的安全和可靠.
系統(tǒng)必須滿足實(shí)時(shí)查詢和數(shù)據(jù)挖掘,傳統(tǒng)做法是讓實(shí)時(shí)性查詢由關(guān)系數(shù)據(jù)庫承擔(dān),而數(shù)據(jù)倉庫負(fù)責(zé)低實(shí)時(shí)的數(shù)據(jù)挖掘與分析,但是一旦數(shù)據(jù)量龐大時(shí)使用數(shù)據(jù)倉庫將直接導(dǎo)致數(shù)據(jù)檢索速度急劇下降,因此平臺采用hadoop來替代數(shù)據(jù)倉庫實(shí)現(xiàn)低實(shí)時(shí)的數(shù)據(jù)挖掘.但并不是使用Hadoop替換關(guān)系數(shù)據(jù)庫與數(shù)據(jù)倉庫,Hadoop的數(shù)據(jù)裝載開銷比關(guān)系數(shù)據(jù)庫小,但效率卻依然不如關(guān)系數(shù)據(jù)庫[5],因此為同時(shí)滿足用戶高實(shí)時(shí)請求及高計(jì)算和存儲能力請求,將關(guān)系型數(shù)據(jù)庫與Hadoop相結(jié)合實(shí)現(xiàn)海量數(shù)據(jù)實(shí)時(shí)計(jì)算,其架構(gòu)如圖2所示.
圖2 Hadoop與關(guān)系型數(shù)據(jù)庫相結(jié)合的海量數(shù)據(jù)實(shí)時(shí)計(jì)算架構(gòu)
Hadoop的Map/Reduce架構(gòu)可以快速地裝載并處理大規(guī)模數(shù)據(jù),因此由Hadoop負(fù)責(zé)從數(shù)據(jù)源抽取數(shù)據(jù)并對其進(jìn)行解析,將一些要求高響應(yīng)速度的數(shù)據(jù)或計(jì)算需求小的數(shù)據(jù)裝載到關(guān)系數(shù)據(jù)庫中實(shí)時(shí)響應(yīng)用戶請求,而對于某些請求頻率較高的低實(shí)時(shí)數(shù)據(jù)則在Hadoop中進(jìn)行預(yù)處理,待Map/Reduce完成分布式計(jì)算后將結(jié)果也存入關(guān)系數(shù)據(jù)庫.
Hadoop中只有一個(gè)NameNode節(jié)點(diǎn),當(dāng)處理某些大型作業(yè)時(shí)可能需要運(yùn)行數(shù)小時(shí)甚至是數(shù)天才能完成,作業(yè)運(yùn)行時(shí)間偏長的缺點(diǎn)是NameNode一旦失敗將丟失所有己經(jīng)完成的中間結(jié)果,因此考慮對大型作業(yè)在其運(yùn)行過程中定時(shí)保存中間結(jié)果,若NameNode失敗還可以從磁盤中繼續(xù)讀入己完成中間結(jié)果繼續(xù)處理.因此不論在Map還是Reduce部分均根據(jù)作業(yè)大小為其分配一定大小的內(nèi)存來保存中間結(jié)果,待對應(yīng)的內(nèi)存寫滿才寫入磁盤空間,且寫入磁盤前還應(yīng)對中間結(jié)果進(jìn)行壓縮來加快數(shù)據(jù)在內(nèi)存與磁盤之間的傳輸速度.Hadoop為每個(gè)大型作業(yè)均分配一定大小的緩存,并定時(shí)將己完成的中間結(jié)果寫入到緩存中,當(dāng)緩存寫滿時(shí)則將中間結(jié)果進(jìn)行壓縮存入磁盤.若作業(yè)失敗則可從己保存在磁盤中的中間結(jié)果繼續(xù)計(jì)算,而不是重頭開始計(jì)算.當(dāng)作業(yè)完成時(shí)還必須有一個(gè)合并過程將所有的中間結(jié)果并行合并.當(dāng)作業(yè)的第一個(gè)中間結(jié)果結(jié)束后,所有的Reduce均從己完成的中間結(jié)果并行下載該Reduce所需的數(shù)據(jù)塊.同樣地,為了提高IO讀寫效率,每個(gè)Reduce也將下載的中間結(jié)果緩存在一定大小的內(nèi)存中,待對應(yīng)內(nèi)存寫滿時(shí)進(jìn)行壓縮并寫入磁盤.當(dāng)Reduce將所有的中間結(jié)果上對應(yīng)的數(shù)據(jù)塊全部下載完成后,再將數(shù)據(jù)塊合并接著進(jìn)行計(jì)算.
鑒于傳統(tǒng)的商業(yè)智能系統(tǒng)在實(shí)時(shí)性及利用率過低等方面的不足,結(jié)合云計(jì)算提出了一種具有高實(shí)時(shí)性的移動(dòng)商業(yè)智能系統(tǒng)解決方案,給出了系統(tǒng)體系結(jié)構(gòu),結(jié)合Hadoop與關(guān)系數(shù)據(jù)庫兩者的優(yōu)勢,利用Hadoop從數(shù)據(jù)源中實(shí)時(shí)將數(shù)據(jù)載入關(guān)系數(shù)據(jù)庫,提出了一種海量數(shù)據(jù)實(shí)時(shí)處理方式.基于云計(jì)算的移動(dòng)商業(yè)智能系統(tǒng)具備靈活性、實(shí)時(shí)性等特點(diǎn),較之傳統(tǒng)的商業(yè)智能系統(tǒng)不僅降低了成本,還能夠更快速地應(yīng)對市場動(dòng)態(tài)發(fā)展所帶來的挑戰(zhàn).
[1]Hayes B.Cloud computing[J].Commun ACM,2008,51(7):9-11.
[2]Rajkumar B,Chee S Y,Srikumar V,et al.Cloud computing and emerging IT platforms:Vision,hype,and reality for delivering computing as the 5thutility[J].Future Generation Computer Systems,2009,25(6):599-616.
[3]穆向陽,繆寧,陳明,等.云計(jì)算環(huán)境下BI對企業(yè)核心競爭力的影響[J].情報(bào)雜志,2010,29(6):52.
[4]王鵬.云計(jì)算的關(guān)鍵技術(shù)與應(yīng)用實(shí)例[M].北京:人民郵電出版社,2010.
[5]Pavlo A,Paulson E,Rasin A,et al.A comparison of approaches to large-scale data analysis[A].Proceedings of the 35thSIGMOD International Conference on Management of Data[C].New York:SIGMOD,2009.
(責(zé)任編校:晴川)
TP399
A
1008-4681(2011)05-0048-03
2011-07-11
曾蔚(1982-),女,福建泉州人,泉州師范學(xué)院數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院助教,碩士.研究方向∶數(shù)據(jù)庫技術(shù)、云計(jì)算.