黃勇軍 ,馮 明 ,丁圣勇 ,樊勇兵
(1.中國電信股份有限公司廣東研究院 廣州510630;2.中國電信集團公司 北京 100032)
近年來,以海量數據處理為目標的大數據技術正成為新的研究熱點。盡管沒有嚴格的定義,但大數據的4V(volume——容 量 ,value——價 值 ,velocity——快 速 ,variety——多樣)特點以及主流的處理技術已經基本得到認可,使用傳統技術在短時間內無法處理的任務或問題目前都可歸為大數據問題,相應的處理技術被稱為大數據技術。
大數據技術起源于互聯網公司,最初主要用于解決海量非結構化網頁數據的存儲、分析以及檢索等問題,在設計理念上采用經濟的服務器構建超大規模的集群,以獲得海量的數據存儲和處理能力。與傳統集群技術不同的是,在大數據解決方案下,盡管單臺節點服務器的性能與可靠性不足以與高性能服務器媲美,但可以通過超大規模(上萬臺)集群以及冗余設計獲得顯著的成本和擴展優勢。大數據技術的擴展性、先進性已被Google、微軟、Yahoo、Facebook等頂級互聯網公司所驗證。
與此同時,隨著電信運營商的全業務化運營以及3G推動下移動互聯網業務的爆炸式增長,電信行業的數據類型、數據規模、數據速度、數據價值在大數據的4個維度上得到顯著體現。對于電信運營商來說,在不需要大量增加網絡投資和運營成本的條件下,大數據體系極有可能成為未來企業新的價值增長點。但由于電信運營商在大數據的人才方面無明顯優勢,且內部系統復雜,大數據技術尚未在電信運營商中得到廣泛應用并發揮價值,如何在電信行業中引入大數據技術并抓住大數據的機遇為客戶提供更深入的服務,是當前一個急迫的問題,本文就電信行業的大數據應用策略展開探討。
大數據技術的核心任務可分為兩種:一種是基礎的大數據存取,功能上類似于傳統文件系統操作或數據庫操作,但規模遠超傳統任務;另一種是數據挖掘分析,目的是從海量的數據中挖掘出有價值的信息。前者是較為簡單的任務,是比較共性的需求,對應的大數據技術主要為分布式文件系統和分布式數據庫;后者則需要通過在大數據計算平臺上實現特定的算法才能完成相關任務,涉及的主要技術包括大數據計算平臺和基于大數據計算平臺的分布式數據挖掘技術。
(1)分布式文件系統技術
大數據時代的分布式文件系統利用大量普通服務器的存儲能力,提供超大規模的文件存儲能力,目前典型的技術是使用集中服務器維護數據分配信息。客戶端對分布式文件系統進行存取操作時,首先通過集中服務器獲得數據存取的節點以及相應分塊位置,從而完成定位操作,一旦定位,數據存取就歸結為普通的流讀寫。此外,為了提高可靠性,數據在寫入時進行冗余復制,從而保證系統具有高度的可靠性。目前主流的分布式文件系統如Hadoop File System,多為基于Google開放的GFS技術實現。
(2)分布式數據庫技術
分布式數據庫技術用來實現海量數據的存取,這里的數據以記錄形式存在,一般具有固定的屬性,有別于流式的文件數據。分布式數據庫的核心技術反映在CAP(consistency,availability,partition tolerance)定理中。CAP 定理理論上證明了任何數據庫都無法同時滿足一致性、可用性、分區容忍性的要求。目前的分布式數據庫放棄了傳統數據庫的一些特性,如事務操作,實現超大規模的數據讀寫能力,將分布式數據庫的核心定位為
(3)分布式計算平臺技術
分布式計算平臺是為應用程序提供并行化的計算平臺,能夠將計算任務自動地加載在多臺機器上并執行,將相應結果進行匯總。分布式計算平臺不能支持為單機編寫的普通程序,只能支持遵循其編程模式和規范的程序,即使用分布式計算平臺的開發者必須根據分布式計算平臺的特性自行設計任務分解方法,這也是使用分布式計算平臺的主要困難所在。目前有兩種典型的分布式計算平臺,介紹如下。
· 實時流計算平臺,支持實時流數據處理,開發者可定義每條數據的處理環節以及相應的處理方法,平臺每接收到一條新數據就會自動調用不同的處理環節,以保證每條數據都被完整處理。這種平臺通過將處理環節自動部署在不同的節點上,實現并行化的處理能力。典型的平臺有Storm。
· 批量式計算平臺,與實時流計算平臺不同,其任務輸入是已經存在的數據集合,執行任務時將這些數據集合分成若干塊,每塊啟動一個任務進行處理并自動匯總結果。典型的平臺有Hadoop MapReduce。
(4)分布式數據挖掘技術
分布式數據挖掘基于分布式計算平臺實現數據挖掘算法,從而支持大規模的數據挖掘分析。將各種傳統的數據挖掘算法(如聚類算法、分類算法)根據底層計算平臺的要求進行并行化實現,必要時進行適當的簡化以適應底層平臺的要求。典型的分布式數據挖掘算法有迭代式K-means、基于Gibbs采樣的LDA以及SVM等。
經過幾年的發展,以上技術已被互聯網巨頭公司廣泛使用,并且形成了一系列開源平臺,如Hadoop、Storm、Hbase、MongoDB等。大數據技術的成本和擴展性優勢已毋庸置疑,但由于大數據平臺和產品最初多定位為滿足互聯網公司的自身需求,從可運營、可管理的角度看,尚不能完全滿足運營級的產品要求,現有大數據平臺往往需要深度的優化才能穩定可靠地運行。相比一些頂級互聯網公司,電信運營商在這方面起步較晚,特別是在大數據平臺技術方面,還沒有形成足夠的積累。但另一方面,電信運營商在基礎設施(如數據中心建設、用戶網絡行為分析、市場經營分析等)方面有較強的技術積累,這些積累為運營商快速應用大數據奠定了良好基礎,包括提供大數據基礎設施服務以及開展各種前向、后向合作運營大數據的機會。
電信運營商的系統本質是為用戶與用戶、設備與設備、用戶與設備之間提供通信信道,每天承載著海量信息,是互聯網大數據的源頭。電信運營商大體上掌握3類數據:第1類是支撐網絡運營的設備狀態及資源利用率數據,這類網絡運維數據與用戶無關,是純粹的信道層面的數據,對網絡優化擴容極其重要;第2類是與用戶緊密相關的數據,具體又包括兩部分,一是相對靜態的體現用戶身份的賬號數據,伴隨著用戶業務的開通產生,另一種是實時的用戶行為數據、用戶通話的信令數據、用戶網絡訪問日志等,是內容層面的數據,對經營分析極為重要;第3類是增值服務類數據,如流媒體內容數據、視頻監控數據、網頁數據等。圖1展示了前兩類數據的來源、挖掘分析的服務對象及應用價值。
第1類數據以結構化為主,處理邏輯相對簡單,局限于某個區域網絡,數據量也相對較小。但在全網范圍看,由于網絡節點多,設備數量大,傳統技術已很難實現長時段、全網級的統計分析。由于這類數據的結構化屬性較強,統計方法相對簡單,使用分布式文件系統和分布式數據庫技術能夠基本滿足數據存儲和基礎分析的需求。
第2類數據具有典型的大數據4V特點,即規模大、變化速度快、價值高、類型復雜。在規模方面,國內主流運營商的用戶數達到數億規模,用戶每天的網絡行為日志無疑構成海量數據,并不亞于頂級互聯網公司。在速度方面,時刻都在變化,以記錄海量用戶的實時行為。在類型方面,具有典型的多樣性,首先體現在數據來源方面,數據可能來自寬帶網絡,也可能來自無線網絡或3G網絡;其次體現在結構方面,既包含結構化的用戶賬號數據,也包含半結構化的用戶訪問日志。在價值方面,蘊含著用戶興趣、位置、身份信息,無論是對電信企業自身還是對外部互聯網企業,都具有無窮的價值。但由于這類數據涉及電信運營商的核心業務,很多數據處理任務對事務性、實時性、可靠性都有極高的要求,目前的大數據解決方案尚不能完全滿足這些要求。因此對于這類數據,大數據初期適合定位于補充性的分析處理,如提供用戶話單查詢、基于用戶網絡訪問日志的用戶興趣畫像等。
第3類數據具有明顯的非結構化特性,特別適合利用大數據技術處理。如流媒體和視頻監控數據,可以使用分布式文件系統代替傳統的存儲系統(如SAN),可以使用實時流計算平臺進行編解碼處理;再如互聯網增值應用中的網頁數據抓取、分析、索引,完全可以借鑒互聯網公司廣泛使用的大數據處理技術。
大數據技術在數據挖掘的廣度、深度方面都帶來了新的機遇,電信運營商應當把握大數據時代的契機,加強數據挖掘與分析工作,將特有的數據資源轉化為資產與核心競爭力。但與此同時,電信運營商應當認識到,大數據技術和產品具有互聯網化的特點,目前大數據技術沒有成熟的可直接運營的產品,大數據的上下游產業鏈也遠不如傳統網絡設備完善,這意味著大數據的應用是個長期漸進的過程,也是需要自主研發、運營、優化的過程。依據目前大數據的技術及產業鏈現狀,從“人才培養、技術研發、平臺建設、應用切入、業務運營”的角度,分析探討電信行業應用大數據的策略。

圖1 電信核心數據來源示意
(1)人才培養
無論在哪個行業,應用大數據都需要同時熟悉行業知識以及大數據分析或者大數據技術的綜合人才。從業界觀點來看,大數據改變的是從“樣本分析”到“全量分析”的模式,分析方法是一個巨大的挑戰,而企業需要的數據人才也大致包括產品和市場分析、安全和風險分析以及商業智能3大類。電信運營商的數據人才,一方面應是數據分析和研發人才,能夠建立適應電信運營商的數據架構,提供有效的機器學習和數據挖掘分析模式的能力;另一方面應熟悉電信自身的業務,即電信行業的數據科學家。綜合考慮大數據上下游產業鏈的不完善現狀以及大數據技術對未來企業發展的重要作用,電信運營商應當加強大數據人才的儲備,引入高層次大數據人才,并通過內部大數據應用快速培養人才。
(2)技術研發
大數據研發包括平臺型研發和基于平臺的應用型研發。從現狀出發,電信運營商應該基礎設施與應用并重,但首先以應用型研發為主,即能夠首先用好大數據,與此同時適度進行平臺型研發,以支撐大數據應用。在積累到一定經驗后,加大平臺型研發的投入,以逐步從對內服務轉向對外運營。大數據的應用十分廣泛,但完整部署需要較長的時間,應用切入的方式有利于兼顧近期運營和長遠規劃,而大數據基礎設施也是一個逐步完善的過程,建議以自有研發力量為主建立核心研發團隊,打造未來成為企業價值核心的大數據系統。
(3)平臺建設
電信企業的各套系統基本上都需要大數據支持。每套系統獨立建設大數據平臺不僅浪費,且不具備相應人才。大數據在基礎設施層面盡量實現共享,以發揮大數據規模集群的優勢。結合電信運營商的系統及管理現狀,可建設省級大數據中心及全國級大數據中心,省級大數據中心定位于滿足省內各種應用和系統對大數據能力的需求,全國級大數據中心定位于滿足全國性系統對大數據能力的需求。
(4)應用切入
任何一個新技術都很難一次性替換原有系統的技術。大數據技術的初期切入策略可定位為補充式切入,即重點實現傳統技術難以實現的問題,如全網流量分析、用戶行為畫像、用戶話單查詢、“號百”餐飲搜索等。
(5)業務運營
在基礎設施層面,考慮到行業對大數據需求的普及以及大數據技術對基礎設施平臺的規模和彈性要求,運營商可結合云數據中心提供云化的大數據基礎設施服務,為大數據服務提供商或用戶提供高質量的、專業的彈性基礎設施平臺,并在平臺上部署基礎的大數據平臺軟件和分析系統,同時嵌入特有的電信能力,發揮運營商的基礎設施服務優勢。在數據挖掘分析層面,大數據技術初期以優先服務內部系統為主,從解決內部系統的實際需求出發,積累大數據的開發、運營經驗,在充分掌握大數據技術的基礎上逐步對外提供大數據分析服務,積極尋求與行業或者企業開展大數據運營的合作。同時要注意的是,電信行業大數據的運營應該充分發揮運營商已有的企業數據倉庫(EDW)系統體系,用好電信運營商傳統的數據體系,結合新的海量用戶行為數據,創造更大的數據應用價值。
在具體技術架構方面,電信運營商大數據平臺可以依托開源項目,采用分層、模塊化思想對主要平臺元素進行設計,各層相對獨立,通過標準接口向外部應用系統開放。參考技術架構如圖2所示。
其中,最底層為硬件平臺層,將PC服務器集群、存儲、網絡等基礎設施資源組合在一起,形成大規模的計算機集群,供上層應用系統使用。
第2層是分布式平臺層,在物理平臺的基礎上部署分布式文件系統、分布式數據庫、緩存服務、任務分解、資源調度等一系列分布式軟件,把多臺獨立的PC服務器組合成具有超大規模計算和存儲能力的系統。分布式平臺屏蔽了分布式系統任務分解、資源調配等復雜的底層工作,簡化了上層分布式應用的開發流程。
第3層是基礎能力層,將基于數據分析的一系列公共基礎服務抽象成功能模塊,開放給上層系統和應用開發者。對外提供包括數據倉庫查詢分析、數據挖掘、統計分析等在內的基礎數據分析功能。
第4層是服務能力層,在基礎能力層上形成搜索引擎、位置信息、內容分發等功能更為完善的服務。這些服務獨立于應用系統的業務邏輯,可作為應用程序的能力補充。

圖2 電信大數據平臺參考架構
第5層是應用層,即需要使用大數據服務的一系列電信應用系統,如大規模用戶行為分析、全網流量分析等,通過調用平臺的大數據服務接口快速實現大數據能力。
此外,為滿足大數據平臺的可運營、可管理要求,平臺需實現運營管理能力,為應用系統提供訪問控制、資源分配等一系列管理服務。
結合大數據的技術框架和電信運營商的數據特點,對大數據適用性進行了分析,并在此基礎上給出電信運營商大數據發展的策略建議,旨在為電信運營商應用大數據技術提供參考。云計算服務模式的出現,拉近了網絡運營商、企業、用戶之間的距離,大數據的普及將使得三者之間形成更為緊密的依賴關系,為電信運營商更好地服務客戶提供新的機遇。
1 White Tom.Hadoop:the Definitive Guide.O’Reilly Media,p.3.ISBN978-1-4493-3877-0,2012
2 Nancy Lynch,Seth Gilbert.Brewer’s conjecture and the feasibility of consistent,available,partition-tolerant web services.ACM SIGACT News,2002,33(2):51~59
3 Ghemawat,Sanjay,Howard Gobioff,et al.The Google file system.ACM SIGOPSOperating Systems Review,2003,37(5)