1 引言
云計算是一種新型的業務交付模式,同時也是新型的IT基礎設施管理方法。通過新型的業務交付模式,用戶將通過網絡充分利用優化的硬件、軟件和網絡資源,并以此為基礎提供創新的業務服務。新型的IT基礎設施管理方法讓IT部門可以把海量資源作為一個統一的大資源進行管理,支持IT部門在大量增加資源的同時無需顯著增加相應的人員進行維護和管理。
2 云計算相關技術
(1)虛擬化
虛擬化可以大幅度提高組織過程中資源和應用程序的效率和可用性。虛擬化把物理資源和最終呈現給用戶的資源進行了分離,實際上是一個替代過程,在具有統一良好架構設計的物理資源上創建出多個替代資源(即虛擬資源),替代資源和物理資源具有相同的接口和功能,對用戶來說虛擬資源具備與物理資源相同的使用功能,同時還可以有不同的屬性,如價格、容量、可調整性等。
(2)自動化部署
云計算的一個核心思想是通過自動化的方式盡可能地簡化任務,使得用戶可以通過自助服務方式快捷地獲取所需的資源和能力。部署是基礎設施管理中十分重要,也是需要花費很大工作量的一部分,包括操作系統、中間件和應用等不同層次的部署。自動化部署可提供簡化流程,用戶提出申請后由自動化部署平臺根據調度和預約自動完成相應的部署,因此用戶只需花十幾分鐘,甚至幾分鐘就可以得到一個完整的環境,極大地提高了工作效率。
(3)應用規模擴展
云計算提供了一個巨大的資源池,而應用的使用又有不同的負載周期,根據負載對應用的資源進行動態伸縮可以顯著提高資源的有效利用率,即高負載時動態擴展資源,低負載時釋放多余的資源,這就是應用規模擴展技術所解決的問題。該技術以應用為基本單位,為不同的應用架構設定不同的集群類型,每一種集群類型都有特定的擴展方式,然后通過監控負載的動態變化,自動為應用集群增加或者減少資源。
(4)分布式文件系統
分布式存儲的目標是利用云環境中多臺服務器的存儲資源來滿足單臺服務器所不能滿足的存儲需求。其特征是,存儲資源能夠被抽象表示和統一管理,并且能夠保證數據讀寫與操作的安全性、可靠性等各方面的要求。
云計算催生了一些優秀的分布式文件系統和云存儲服務。最典型的云平臺分布式文件系統是Googie的GFS(Coogle file system)和開源的Hadoop。這兩種可伸縮的分布式文件系統利用容錯和故障恢復機制,有效地克服了單節點故障導致的系統故障,實現了大規模海量級的文件存儲。
以Hadoop文件系統為例,Hadoop文件系統(HDFS)是一個運行在普通硬件之上的分布式文件系統,它和現有的分布式文件系統有著很多相似性。然而,與其他分布式文件系統的區別也是很明顯的:HDFS是高容錯性的。可以部署在低成本的硬件上,HDFS高吞吐量地對應用程序進行數據訪問,它適合大數據集的應用程序,HDFS放開一些POSIX的需求去實現流式地訪問文件數據。一個HDFS集群由一個管理文件系統元數據的Name Node和存儲實際數據的一些Data Node組成。
(5)分布式數據庫與非結構化數據存儲
在分布式文件系統上.典型的存儲海量結構化數據的分布式存儲系統包括Google的BigTable、開源的HBase等。這些系統可將非結構化數據(如網頁等)存儲為分布式的、多維的、有序的圖。
以HBase為例。HBase是一個分布式的、面向列的開源數據庫。HBase是Apache的Hadoop項目的子項目,HBase在Hadoop上提供了類似于Bigtable的能力。HBase不同于一般的關系數據庫。它是一個適合于非結構化數據存儲的數據庫。另一個不同是,HBase基于列的而不是基于行的模式。HBase使用和Bigtable非常相似的數據模型。用戶存儲數據行在一個表里。一個數據行擁有一個可選擇的鍵和任意數量的列。表是疏松存儲的,因此用戶可以給行定義各種不同的列。HBase主要用于需要隨機訪問,實時讀寫大數據。在系統架構上,HBase分成Master與Region Server兩部份。Master負責告知client對一個表訪問時,應該轉向哪臺Region Server,而Region Server就是實際上提供數據的節點。
(6)分布式計算
基于云平臺的最典型的分布式計算模式是MapReduce編程模型。MapReduce將大型任務分成很多細粒度的子任務,這些子任務分布式在多個計算節點上進行調度和計算,從而在云平臺上獲得對海量數據的處理能力。概念“Map(映射)”和“Reduce(化簡)”的主要思想都是從函數式編程語言里借來的,還有從矢量編程語言里借來的特性。當前的軟件實現是指定一個Map(映射)函數,用來把一組鍵值對映射成一組新的鍵值對,指定并發的Reduce(化簡)函數,用來保證所有映射的鍵值對中的每一個共享相同的鍵組。簡單說來,一個映射函數就是對一些獨立元素組成概念列表的每一個元素進行指定的操作。事實上,每個元素都是被獨立操作的,而原始列表沒有被更改,因為這里創建了一個新的列表來保存新的答案。也就是說,Map操作是可以高度并行的,這對高性能要求的應用以及并行計算領域的需求非常有用。Reduce操作指的是對一個列表的元素進行適當的合并。雖然它不如映射函數那么并行,但是因為化簡總是有一個簡單的答案,大規模的運算相對獨立,所以化簡函數在高度并行環境下也很有用。
3 應用分析
3.1 問題和現狀
對于EDC和業務支撐系統而言,大量的業務涉及數據分析和商業智能。如上海電信的相關系統按大類可劃分為BSS、MSS、OSS、EDI等;按具體應用系統則分為計費、CRM、DW、綜合結算、網廳、OA、ERP、門戶、EDW、全息視圖、計費分析、營銷分析、資源管理、綜合保障、綜合報警等。彼此獨立的系統占用了大量的硬件資源。由于資源彼此隔離,服務器的平均利用率非常低。由于生產要求,月初出賬注要是報表)期,計算扎堆嚴重,資源又明顯不足。
通過對電信EDC和業務支撐系統的分析,我們可以總結出以下幾個業務特性。
(1)高性能計算的需求
數據量大、運算量大的系統如計費、CRM、EDW等對高性能計算有需求。四川電信的數據分析都架構在小型機上,CPU資源仍然不夠。雖然有一系列擴容優化計劃,但計算與資源一直有矛盾。上海電信的EDA/WS部門也面臨針對海量數據做分析報表的壓力,由于計算資源分離,不能共享,資源利用率低下,目前主要通過不斷擴容來應對壓力。
(2)時間窗口問題需求
數據分析的一個突出問題是時間窗口,這在上海電信和四川電信都很突出。由于生產要求,月初出賬(主要是報表)期,計算扎堆嚴重,資源明顯不足。目前的主要對策是,對于階段性以及突發性的作業需求進行動態調整以滿足作業對計算能力的要求。即:對于重要業務需預留資源,對于其他業務則進行調度管理;在出賬前,根據資源需要,停掉低優先級的計算,從而滿足高優先級計算的需求。然而,在時間窗口之外,計算資源又相對空閑。
云計算在數據分析與商業智能分析中有兩種應用模式。
為電信內部EDC和業務支撐系統提供數據分析和商業智能業務,實現傳統數據分析與商業智能應用的云化。要實現此類應用模式需要完成以下工作:利用虛擬化和自動化等云計算關鍵技術整合現有硬件資源;部署云模式數據分析與商業智能平臺;遵照云模式選擇性地重構現有業務系統中用到的數據分析與商業智能服務;將上述用戶任務調度到云平臺上進行計算,獲得云模式帶來的好處。
采用云模式開發新的數據分析與商業智能服務。實現企業數據分析云。要實現此類業務應用模式需要依托整合共享的硬件資源,在云模式數據分析與商業智能平臺上開發新的服務,以支持各類新興的應用模式和需求(如:移動社交網絡,基于客戶社交網絡的客戶價值發現和營銷;客戶分群,基于用戶地理位置和軌跡的信息服務和廣告推送等)。
3.2 典型的應用場景
本節闡述幾個典型的利用數據分析和商業智能云平臺的新數據分析業務,包括客戶流失分析、客戶社群發現、客戶多重身份識別,客戶價值發掘。上述典型應用涵蓋了云模式數據分析與商業智能平臺提供的數據挖掘和社會網絡分析功能。然而,該平臺并不僅限于支持以上業務,傳統的各類數據分析業務均可通過定制化開發,移植到該平臺上。
(1)客戶流失分析
針對當前中國電信C網客戶流失嚴重的現象,利用云數據分析平臺提供的CHAID(chisquared automatic interaction detector)等客戶分群算法,將客戶劃分為“穩定客戶”和“潛在流失客戶”,從而可以讓中國電信將營銷資金投入到挽留“潛在流失客戶”上,有效地提高營銷資金的使用效率。
經過清洗和預處理的客戶數據會被提交給這個應用并加以分析。分析過程包括CHAID模型的建立和評估兩個步驟。評估結果會以預測準確度和LIFT兩個指標的形式展現。
(2)客戶社群發現
針對性營銷不僅需要了解單個顧客的特征,更需要識別和理解顧客形成的各種社群。如識別家庭用戶形成的社群結構,對于特定種類的業務營銷會有很大的幫助。然而,傳統的統計方法往往只對代表社群規模的一些簡單指標進行統計和比較,無法分析客戶社群內在結構的差異。
利用云平臺BI算法庫中的連通分量、K-core和極大團等算法,可深入分析客戶社群的組成,發現具有商業價值的特殊結構。如:K-core和極大團算法分析一個網絡社區,可以通過分析結果發現,不同社群的內部聯系緊密程度的差異是否很大:K-core算法可以獲得清晰的坍縮序列,極大團算法進而發現了該社群內部一些聯系緊密的小團體。
(3)客戶多重身份識別
在各類客戶分析應用中,往往需要識別單一客戶的多重身份。如在電信網中需要識別重入網客戶,在廣告營銷管理中需要識別虛假好評。云平臺算法庫提供的個體中心網和極大團等算法,可以輔助識別用戶的多重身份。
電信網中的重入網客戶識別。利用網絡分析算法庫提供的個體中心網算法,可以計算得到每個客戶的朋友以及朋友之間的聯系,這一信息可以被看作是該客戶的社會關系指紋。將這一分析工具與時態分析等工具相結合,可以有效地判斷一個客戶是否是該運營商過去某個用戶再入網的身份。
虛假好評,馬甲的識別。云平臺網絡分析算法庫提供的極大團等社群發現算法可以識別客戶社群中一些有趣的小團體。以網絡社區數據為例,可發現一些包含兩個用戶的強極大團實際上是一些用戶的多個身份。
(4)客戶價值發現
傳統的客戶價值分析方法往往將客戶看作是一個個獨立的個體,依據客戶的統計屬性來判斷客戶的價值。然而,統計屬性并非有效表征客戶價值。利用云平臺社會網絡分析pagerank和HITS等算法,可分析客戶在社會網絡中的位置對其價值的影響,從而有效挖掘出價值客戶。
3.3 分布式技術模型
數據分析和商業智能云平臺的技術架構如圖1所示。
圖1 技術模型
由以下4層結構組成:
·數據分析與商業智能的應用;
·數據分析中間件(算法庫和工具);
·云模式分布式并行計算框架;
·云模式分布式文件系統和特定主題的數據模型。
前述功能模型中的4個具體分析應用歸屬于應用層。平臺未來將要支持的各種應用層業務邏輯也在這層定制化開發。
(1)數據分析中間件
這層中間件是架構在Hadoop之上,遵照MapReduce計算模型開發的一系列算法庫和工具。為支持現有各種數據分析和商業智能應用,本層應至少包含統計查詢、社會網絡分析、數據挖掘、機器學習的算法庫和工具。此外,隨著云模式數據分析與商、業智能平臺及其應用的發展,本層的算法庫和工具也將不斷得到豐富和完善。
圖2展現了一個典型的數據分析和商業智能應用流程,包括問題定義、數據收集、數據分析、決策、行動/監控/學習及其迭代過程。
圖2 一個典型的數據分析和商業智能應用流程
云模式數據分析與商業智能平臺所提供的算法庫和工具將為應用提供數據分析和決策兩個環節的支持。依托下層的Hadoop MapReduce分布式并行計算框架和Hadoop分布式文件系統,本層中間件適合處理滿足下列特征的數據。
·非結構化或半結構化源數據,如CDR、短信日志等。
·大規模數據集。
·快速增長的數據集(如每日更新的手機用戶的通話日志)。
本層中間件與傳統數據分析與商業智能中間件相比,其特點在于:
·針對海量數據提供高性價比的計算分析;
·依附于最通用的云計算平臺(Hadoop)上,可有效地與其他云計算中間件進行協調整合;
·快捷地支持各種類型的商業智能解決方案的開發和部署;
·依托MapReduce編程模型,可以有效地建立協作式的分析知識庫。
(2)云模式分布式并行計算框架
基于云平臺的最典型的分布式計算模型是MapReduce編程模型,這也是本平臺首選的分布式并行計算模型。MapReduce將大型任務分成很多細粒度的子任務,這些子任務分布式且并行地在多個計算節點上進行調度和計算,從而在云平臺上獲得對海量數據的處理能力。概念“Map(映射)”和“Reduce(化簡)”的主要思想都是從函數式編程語言里借鑒來的。
遵照MapReduce編程模型。數據分析與商業智能算法庫的開發者可以編寫一個Map(映射)函數,用來把一組鍵值對映射成一組新的鍵值對,還可以編寫一個Reduce(化簡)函數。用來處理Map函數產生的鍵值對中的共享相同的鍵的所有鍵值對。簡單說來,一個映射函數就是對一些獨立元素組成概念上列表的每一個元素進行指定的操作。事實上,每個元素都是被獨立操作的,而原始列表沒有被更改,因為這里將創建一個新的列表來保存操作的結果。因此,Map操作是可以高度并行的,這對有高性能要求的應用以及并行計算領域的需求非常有用。Reduce操作則是對一個列表的元素進行適當的合并。雖然不如Map函數那么并行,但是因為有許多的運算中用到的化簡都有簡單的輸入和化簡結果。所以Reduce函數在高度并行環境下往往也很有用。
目前,存在的MapReduce分布式并行計算框架實現有幾種,其中最主要的是Apache Hadoop MapReduce。已經形成了成熟活躍的開發和用戶社群。這也是本平臺首選的依托方案。在Apache Hadoop MapReduce中,Map操作和Reduce操作的執行被包裹為任務(task),而任務又以MapReduce對的形式被包裹為作業(job),負責在Hadoop集群節點上安排任務執行的軟件被稱作TaskTracker。通常在每個計算節點上部署一個。負責在集群范圍內調度作業和任務執行的軟件被稱作JobTracker,通常在Hadoop集群內挑選獨立的機器來部署。
(3)特定主題的數據模型
盡管MapReduce分布式并行編程模型對底層數據存儲并無硬性的要求,但是,為了最好地利用該模型帶來的伸縮性優勢,往往需要采用分布式文件系統作為輸入數據、中間結果以及輸出數據的載體。
在Apache Hadoop套件中,這樣的分布式文件系統就是Hadoop分布式文件系統(hadoop distributed file system,HDFS)。這也是本平臺首選的分布式文件系統方案之一。該系統利用Hadoop集群中各個節點的本地磁盤來存放數據文件,可以在普通的硬件平臺上實現可靠的數據存儲。
對外部客戶機而言,HDFS就像一個傳統的分級文件系統,可以創建、刪除、移動或重命名文件等。但是HDFS的架構是基于一組特定的節點構建的,這是由它自身的特點決定的。這些節點包括:NameNode負責在HDFS內部提供元數據服務;DataNode負責為HDFS提供存儲塊。Hadoop集群往往包含一個NameNode和大量DataNode。DataNode通常以機架的形式組織,機架之間通過交換機實現連接。Hadoop HDFS和Hadoop MapReduce的一個假設是機架內部節點之間的傳輸速度和延遲都好于機架間。
4 實現步驟
從傳統的數據分析與商業智能分析模式向基于云計算的數據分析云的進化是電信數據分析的終級目標。轉型過程應該從資源整合與平臺虛擬化著手,分步引入虛擬化高級功能和云計算概念。
(1)資源整合與點應用
以現有的數據分析與商業智能分析系統為基礎,進行資源整合,實現物理資源的虛擬化。通過虛擬化技術實現資源池化和資源動態擴展等功能,實現基礎平臺與應用平臺的擴展。目前,實現虛擬化的產品有很多,其中以Vmware、微軟、ctrix的虛擬化產品為主流。
依托基礎平臺與應用擴展平臺,實現數據分析和商業智能平臺的快速部署和資源動態擴展。
在此基礎上,借助平臺快速部署功能和系統無縫移置功能,選擇性地開發和部署一批數據分析和商業智能應用。
(2)平臺擴展和應用推廣
在整合的基礎上擴展平臺,開發和部署更多的云模式數據分析和商業智能應用,同EDW、ODS和其他現有BI平臺集成。
(3)平臺開放和自主演化
這個階段的平臺建設目標是標準化云模式數據分析和商業智能應用的開發接口和運行時接口,提供較為完善的開發套件,鼓勵和吸引合作伙伴共同豐富平臺和應用的功能。
5 難點和風險
在數據分析與商業智能分析中應用云計算技術,能提高數據分析的效率,讓企業更加能適應快速變化的市場,為快速推出新的產品提供數據依據,但是云計算也存在一些難點和風險。
(1)產品選擇問題
服務器虛擬化技術和產品沒有統一的標準平臺和開放協議,業內服務器虛擬化產品良莠不齊,選擇不合適的產品會帶來嚴重的投資風險。而且服務器虛擬化軟件價格不菲,短期、小范圍內的應用難見效益。
(2)可靠性問題
由于在一臺服務器上運行多個重要的應用程序和數據庫,虛擬化的IT環境比大型計算機和微型計算機環境更容易遭到災難性崩潰的破壞,因為它們有同樣集中的資源,但是,硬件的可靠性不同。
(3)數據安全問題
數據是企業的生命,數據的丟失和泄露對電信來說是不容忽視的風險。云計算帶來便利的同時,也給數據帶來了風險。
(4)環境的復雜化
虛擬化的本質是應用只與虛擬層交互,而與真正的硬件隔離。在造成便利的同時,也造成了風險。軟件和硬件之間被切斷聯系將導致安全人員看不到設備背后發生的風險,服務器環境變得更加不同定、復雜,安全人員最終失去硬件本身提供的穩定性。當應用出現故障時,需要精確定位是硬件還是軟件故障,在虛擬化世界中,這將是一項復雜而冗長的工作。
6 結束語
中國電信實現數據云之后,可以快速搭建一個數據分析云計算平臺。這個過程將通過管理平臺自動化實現。數據分析云的擴展性。保證各類平臺都可以參與到云計算中。參與平臺的機器可以是資源池的閑置機器,也可擴展到非生產環境的機器,如開發測試資源池,甚至辦公機器。數據分析云具有靈活彈性,因此各類機器可選擇空閑時段加入云平臺,如辦公機器可在夜間空閑時段加入云分析。白天仍進行各自任務。靈活地加入與退出并不中斷云計算本身。數據分析云具有高可靠性,即使出現一些機器的臨時故障。云平臺能夠自動檢測和適應,并不中斷云平臺分析與計算。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文網址:http://www.guhuozai8.cn/html/consultation/1083975603.html