電信業(yè)Hadoop應(yīng)用分析
昨日,聯(lián)通研究院處長(zhǎng)王志軍在第七屆“開(kāi)源中國(guó) 開(kāi)源世界”高峰論壇上分享了Hadoop在電信行業(yè)大數(shù)據(jù)應(yīng)用的經(jīng)驗(yàn)。
隨著國(guó)內(nèi)3G網(wǎng)絡(luò)的發(fā)展,或者移動(dòng)通信網(wǎng)絡(luò)的發(fā)展,中國(guó)聯(lián)通(600050,股吧)目前運(yùn)營(yíng)著世界上最大的CDMA網(wǎng)絡(luò),流量運(yùn)營(yíng)是中國(guó)聯(lián)通一個(gè)重要特點(diǎn)。中國(guó)聯(lián)通3G套餐當(dāng)中流量占比非常非常大,中國(guó)聯(lián)通3G用戶流量使用情況也是非??捎^的。而目前中國(guó)聯(lián)通遇到一個(gè)世紀(jì)問(wèn)題:隨著流量的增長(zhǎng),3G 流量的爭(zhēng)議也迅速的增加?,F(xiàn)在3G業(yè)務(wù)在流量方面的投訴達(dá)到了投訴的7-10%,并且最近這半年還在成迅猛的上升趨勢(shì),各個(gè)省份已經(jīng)達(dá)到了20%。
投訴來(lái)源于哪兒呢?
一些用戶,特別是一些移動(dòng)智能手機(jī)用戶,聯(lián)通研究院處長(zhǎng)王志軍以自己為例說(shuō)明。如我的安卓手機(jī),前一陣子谷歌安卓4.0出來(lái)之后發(fā)布了新的版本,我的手機(jī)在某一天下午某一個(gè)時(shí)刻進(jìn)行了自動(dòng)更新,基本有200兆大小的流量的產(chǎn)生。
如果是普通的3G用戶,中國(guó)聯(lián)通資費(fèi)0.3元/兆,當(dāng)套餐用光了之后,這次更新可能花費(fèi)60元,這種更新是在不自覺(jué)情況下發(fā)生的,用戶毫不知情。所以,最終致使用戶到中國(guó)聯(lián)通進(jìn)行投訴:用戶認(rèn)為自己沒(méi)有使用這個(gè)流量,向聯(lián)通要證據(jù)。
目前,電信計(jì)費(fèi)系統(tǒng)流量話單在GGSN設(shè)備上產(chǎn)生,是網(wǎng)關(guān)設(shè)備。這個(gè)設(shè)備產(chǎn)生流量話單的時(shí)候是根據(jù)一個(gè)流量依據(jù)而產(chǎn)生:
第一,達(dá)到一定時(shí)間,例如2個(gè)小時(shí)。
第二,達(dá)到一定流量大小,比如5兆。
這個(gè)流量話單相當(dāng)于一段時(shí)間之內(nèi)使用流量總合的話單,沒(méi)有說(shuō)訪問(wèn)哪個(gè)目標(biāo)的IP地質(zhì),沒(méi)有訪問(wèn)的目的地,只告訴你這個(gè)時(shí)刻產(chǎn)生了這樣的話單,用戶當(dāng)然不愿意,用戶說(shuō)我那天沒(méi)有使用過(guò)手機(jī),沒(méi)有產(chǎn)生這個(gè)流量,這樣情況下用戶要求退費(fèi),或者雙倍賠償,GSN設(shè)備,無(wú)論是中國(guó)聯(lián)通也好,還是其他運(yùn)營(yíng)商也 好,采用設(shè)備可能來(lái)子華為、阿爾卡特,這些設(shè)備在全球商用了,GGSN產(chǎn)生的話單在一定意義上之上,出現(xiàn)這種問(wèn)題是微乎其微的,說(shuō)不清流量到哪兒去了,運(yùn)營(yíng)商作為弱勢(shì)群體,只能退費(fèi)或者雙倍賠償。
運(yùn)營(yíng)商的難言之隱
聯(lián)通研究院處長(zhǎng)王志軍以一個(gè)案例進(jìn)行說(shuō)明,2011年,中國(guó)聯(lián)通一個(gè)用戶在0點(diǎn)到4點(diǎn)之間產(chǎn)生巨額流量費(fèi)用,他認(rèn)為中國(guó)聯(lián)通既然拿不出證據(jù),以涉嫌欺詐消費(fèi)者為由向法院提起了訴訟,影響是兩方面的。
對(duì)用戶而言,他也是想知道流量到底什么時(shí)候發(fā)生的,如果手機(jī)的問(wèn)題,他也知道怎么進(jìn)行防范,這樣就不會(huì)發(fā)生類(lèi)似問(wèn)題,根據(jù)客戶部門(mén)提供的數(shù)據(jù),可能 因?yàn)闊o(wú)法提供商網(wǎng)流量詳單造成退費(fèi)和賠付,會(huì)影響到運(yùn)營(yíng)商流量計(jì)費(fèi)商務(wù)模式,所以我們建立這種系統(tǒng)意義非常大,第一,我們的系統(tǒng)供聯(lián)通客服人員使用,提供 快速查詢(xún)服務(wù),解決流量投訴的問(wèn)題,另外,我們也準(zhǔn)備向最終用戶提供異常的大流量查詢(xún)服務(wù)。再一個(gè)問(wèn)題,上網(wǎng)記錄數(shù)據(jù)本身是數(shù)據(jù)的金礦,我們可以通過(guò)獲取上網(wǎng)數(shù)據(jù)記錄對(duì)流量進(jìn)行統(tǒng)計(jì)。
海量數(shù)據(jù)的應(yīng)對(duì)之策
對(duì)于以上這些問(wèn)題該如何應(yīng)對(duì)呢?聯(lián)通研究院處長(zhǎng)王志軍分析處理問(wèn)題的難點(diǎn):上網(wǎng)記錄數(shù)據(jù)是海量數(shù)據(jù),經(jīng)過(guò)我們的系統(tǒng)可以分析到,用戶每個(gè)用上網(wǎng)記錄基本幾萬(wàn)到幾十萬(wàn),有的用戶五六十萬(wàn),我們現(xiàn)在采用的方案是在網(wǎng)關(guān)所有用戶流量必經(jīng)地方采集,分析流量數(shù)據(jù),然后上成上網(wǎng)記錄話單,話單量非常大。
聯(lián)通研究院處長(zhǎng)王志軍表示,例如用移動(dòng)手機(jī)訪問(wèn)新浪網(wǎng)首頁(yè),對(duì)流量采集設(shè)備基本能生成20條左右上網(wǎng)記錄話單,如果點(diǎn)iPad新聞鏈接,恐怕會(huì)產(chǎn)生 180條上網(wǎng)記錄,如果訪問(wèn)淘寶網(wǎng)首頁(yè),會(huì)產(chǎn)生60條請(qǐng)求和回應(yīng),在手機(jī)上網(wǎng)記錄當(dāng)中有大量DNS查詢(xún)和推送服務(wù)。以中國(guó)聯(lián)通某一個(gè)中等省份公司為例,日均上網(wǎng)記錄達(dá)到10億條,每個(gè)月的數(shù)據(jù)接近9T,整個(gè)移動(dòng)互聯(lián)網(wǎng)也在快速發(fā)展。
根據(jù)中國(guó)聯(lián)通統(tǒng)計(jì),每隔6個(gè)月中國(guó)聯(lián)通用戶整體上網(wǎng)流量會(huì)翻一番,去年平均3G每用戶的流量一年之內(nèi)翻一番,整個(gè)流量增長(zhǎng)非常迅速,也帶來(lái)了上網(wǎng)記錄的量非常非常大。
傳統(tǒng)IOE方式,IBM小型機(jī),思科數(shù)據(jù)庫(kù)存儲(chǔ),EMC存儲(chǔ),思科數(shù)據(jù)庫(kù)存儲(chǔ)這么大上網(wǎng)記錄時(shí)候已經(jīng)不可能了,所以,聯(lián)想采用開(kāi)源的Hadoop解決,Hadoop本身是系統(tǒng)架構(gòu),也是開(kāi)源項(xiàng)目,由Apache基金會(huì)開(kāi)發(fā),Hadoop本身最底層是分布式文件系統(tǒng),這個(gè)分布式文件系統(tǒng)叫HDFL,在它之上有分布式處理框架,基于Hadoop整個(gè)開(kāi)源項(xiàng)目,上面構(gòu)建了結(jié)構(gòu)化的訪問(wèn)數(shù)據(jù)庫(kù),在這之上又提供了類(lèi)似的數(shù)據(jù)挖掘工具,另外也提供了一些分布式同步,以及遠(yuǎn)程調(diào)用和序列化工具。
Hadoop+HBase+ MapReduce
對(duì)于Hadoop分布式文件系統(tǒng)本身來(lái)說(shuō),重要的出發(fā)點(diǎn)在于硬件故障是常態(tài),不是非異常的狀態(tài),我們可以摒棄采用IBM小型機(jī)方案,Hadoop中數(shù)據(jù)可以自動(dòng)復(fù)制,一份數(shù)據(jù)可以復(fù)制成三份,第一份在一臺(tái)服務(wù)器上,第二份數(shù)據(jù)在另外一臺(tái)機(jī)架的另外一臺(tái)服務(wù)器上,第三份數(shù)據(jù)可能在另外一臺(tái)機(jī)架的另外一臺(tái)服務(wù)器上,作為分布式文件系統(tǒng),每次請(qǐng)求寫(xiě)入的磁盤(pán)和服務(wù)器物理地點(diǎn)可能不一樣,可以帶來(lái)高并發(fā)的讀寫(xiě)請(qǐng)求。
MapReduce框架分成很多數(shù)據(jù)級(jí),最后再合并處理。HBase分布式數(shù)據(jù)庫(kù)是分布式存儲(chǔ)系統(tǒng),主要特點(diǎn)在正它是四維存儲(chǔ)系統(tǒng),傳統(tǒng)的數(shù)據(jù)庫(kù)是二維表的結(jié)構(gòu),有行、有列,對(duì)它來(lái)說(shuō),除了有行之外,有列的概念,在列和行之間又可以存放多個(gè)版本,在這種情況下相當(dāng)于四維表結(jié)構(gòu),好處在于可以靈活的表格結(jié)構(gòu),每個(gè)列組里面的列后來(lái)都可以隨機(jī)應(yīng)變,我們的采集系統(tǒng)現(xiàn)在在采集一些字段,未來(lái)的發(fā)展過(guò)程中,為了數(shù)據(jù)挖掘的需要,會(huì)采集更多的字段,方便我們?cè)谝粋€(gè)結(jié)構(gòu)之下進(jìn)行更多信息的存儲(chǔ)以及后續(xù)的處理工作。
HBase本身利用自動(dòng)復(fù)制機(jī)制保證Hbase本身存儲(chǔ)的高可靠性。我們會(huì)做一些數(shù)據(jù)挖掘工作,除了采用MapReduce技術(shù)之外,還采用數(shù)據(jù)倉(cāng)庫(kù)技術(shù),針對(duì)海量數(shù)據(jù)進(jìn)行高性能查詢(xún)和分析工作。中國(guó)聯(lián)通已經(jīng)構(gòu)建了一個(gè)全國(guó)集中的一級(jí)架構(gòu)海量數(shù)據(jù)存儲(chǔ)和查詢(xún)系統(tǒng),第一,是一級(jí)架構(gòu),全國(guó)所有用戶所有上網(wǎng)記錄數(shù)據(jù)都放北京數(shù)據(jù)中心里,在國(guó)內(nèi)電信行業(yè)當(dāng)中也是首創(chuàng)的方式。
另外一個(gè)方式,首先將開(kāi)源Hadoop、Hbase技術(shù)應(yīng)用商用電信服務(wù)系統(tǒng)中來(lái),開(kāi)源的軟件架構(gòu)基本上沒(méi)有商用系統(tǒng)的,但是這次是商用系統(tǒng),系統(tǒng)的構(gòu)成,包括數(shù)據(jù)采集、數(shù)據(jù)入庫(kù)、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)查詢(xún)和數(shù)據(jù)分析技術(shù),基本技術(shù)采用Hadoop,目前上網(wǎng)記錄數(shù)據(jù)存儲(chǔ)一般不小于30分鐘,30分鐘之前的上網(wǎng)記錄現(xiàn)在可以通過(guò)我們系統(tǒng)查詢(xún)到。
在實(shí)際使用過(guò)程中,聯(lián)通發(fā)現(xiàn)約10分鐘的記錄可以查到,用HBase處理這么海量的數(shù)據(jù)時(shí)候,入庫(kù)速度非常非常迅速,另外查詢(xún)速度也非常非常迅速。另外系統(tǒng)的存儲(chǔ)不少于6個(gè)月原始上網(wǎng)記錄能力,中間的統(tǒng)計(jì)報(bào)表會(huì)保存不少于5年,現(xiàn)在的數(shù)據(jù)查詢(xún)速度,查詢(xún)一個(gè)用戶上網(wǎng)記錄,比如有幾萬(wàn)條記錄,在幾千億條記錄當(dāng)中檢索的時(shí)間小于一秒鐘,當(dāng)然,這個(gè)時(shí)間不包括查詢(xún)頁(yè)面的時(shí)間。
這是上網(wǎng)記錄詳單內(nèi)容,存儲(chǔ)了很多用戶上網(wǎng)記錄信息,隨著系統(tǒng)的發(fā)展,為了數(shù)據(jù)挖掘的需要,聯(lián)通會(huì)進(jìn)一步提取更多信息存到上網(wǎng)記錄系統(tǒng)當(dāng)中來(lái)。
Hadoop三節(jié)點(diǎn) 控制數(shù)據(jù)
整個(gè)系統(tǒng)部署情況是這樣的,我們采用普通PC服務(wù)器部署這個(gè)系統(tǒng),Hadoop本身有三個(gè)節(jié)點(diǎn),一個(gè)是數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),現(xiàn)在有178個(gè)數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),每個(gè)數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)有14T的容量,集群的監(jiān)控節(jié)點(diǎn)有一臺(tái),入庫(kù)服務(wù)節(jié)點(diǎn)24臺(tái),Web查詢(xún)應(yīng)用服務(wù)節(jié)點(diǎn)20臺(tái),在同一個(gè)機(jī)架上的數(shù)據(jù)交換采用千兆交換機(jī)。這是查詢(xún)系統(tǒng)的界面,用戶詳細(xì)信息都可以通過(guò)這個(gè)系統(tǒng)查詢(xún)出來(lái)。
在目前情況下,現(xiàn)在已經(jīng)部署完成了4個(gè)省份,北京、黑龍江、浙江、重慶,四個(gè)省份所有用戶上網(wǎng)記錄都可以上來(lái),每天入庫(kù)條數(shù)超過(guò)42億條用戶上網(wǎng)數(shù)據(jù)記錄,每天入庫(kù)數(shù)據(jù)量超過(guò)1.2T,在這種數(shù)據(jù)量的情況下,現(xiàn)在已經(jīng)保存了幾個(gè)月的上網(wǎng)記錄數(shù)據(jù),在這種情況下,上網(wǎng)記錄數(shù)據(jù)保存在一張表當(dāng)中,保存4 個(gè)省的數(shù)據(jù),一個(gè)月可能超過(guò)1200億條的數(shù)據(jù),在這種情況下,在1200億條數(shù)據(jù)當(dāng)中檢索一個(gè)用戶數(shù)據(jù)會(huì)達(dá)到不小于一秒,目前1200億條只用到15個(gè)數(shù)據(jù)節(jié)點(diǎn),隨著178個(gè)數(shù)據(jù)節(jié)點(diǎn)上線之后,保存全國(guó)31省的數(shù)據(jù)以及進(jìn)行快速入庫(kù)、查詢(xún)和檢索我們認(rèn)為都沒(méi)有問(wèn)題。
現(xiàn)在預(yù)估,31省上線之后,每個(gè)月用戶上網(wǎng)記錄超過(guò)8千億條,我們系統(tǒng)明年6月份才可能考慮到下一期擴(kuò)容工程,在這種情況下,我們相信每個(gè)月會(huì)有1 萬(wàn)億條數(shù)據(jù),保存6個(gè)月用戶數(shù)據(jù),原始數(shù)據(jù)量會(huì)超過(guò)6萬(wàn)億條,目前每條上網(wǎng)記錄基本上在300個(gè)字節(jié),隨著我們把更多的字段加入進(jìn)來(lái)之后,可能平均每條用戶上網(wǎng)記錄的長(zhǎng)度還會(huì)增加,可能達(dá)到400字節(jié),對(duì)整個(gè)集群的要求會(huì)更高。
聯(lián)通研究院處長(zhǎng)王志軍表示,聯(lián)通第一次采用了開(kāi)源技術(shù),在此之前,在電信行業(yè)當(dāng)中比較少見(jiàn)。聯(lián)通采用了Hadoop、HBase,這里面還有用戶管理員信息等等。目前,在客服使用當(dāng)中感覺(jué)也是非常非常好的,更重要的是利用這個(gè)系統(tǒng)可以做深入的數(shù)據(jù)挖掘工作。
中國(guó)聯(lián)通在查詢(xún)用戶上網(wǎng)記錄之前會(huì)征得用戶的同意,有可能通過(guò)口服開(kāi)頭同意,如果客服后臺(tái)查詢(xún)的話,我們可能會(huì)通知用戶有人要查詢(xún)其上網(wǎng)記錄,在安全方面聯(lián)通做了考慮。