中國聯(lián)合網(wǎng)絡通信有限公司軟件研究院濟南分院 裴宏祥 杜 宇
電信業(yè)務支撐系統(tǒng)基于大數(shù)據(jù)的云計算解決方案
中國聯(lián)合網(wǎng)絡通信有限公司軟件研究院濟南分院 裴宏祥 杜 宇
時至今日,海量數(shù)據(jù)時代的來臨已經(jīng)毋庸置疑,尤其是在互聯(lián)網(wǎng)、電信、金融等行業(yè),幾乎已經(jīng)到了“數(shù)據(jù)就是生產(chǎn)力”的地步。這種趨勢已經(jīng)讓很多相信數(shù)據(jù)之力量的企業(yè)做出改變,隨之而來的,則是企業(yè)在IT架構(gòu)上的改變。本文針對在新的形勢下電信業(yè)務支撐系統(tǒng)如何采用云計算技術,X86及低端磁盤陣列等搭建一個低成本、全新系統(tǒng)架構(gòu)來解決大數(shù)據(jù)的處理、存儲、管理和查詢問題。
大數(shù)據(jù);云計算;X86;資源池;作業(yè)池;彈性計算
在過去,海量數(shù)據(jù)一直是互聯(lián)網(wǎng)行業(yè)Web搜索引擎的創(chuàng)建者們首當其沖面對的問題。而今天電信行業(yè)的業(yè)務支撐系統(tǒng)每天也創(chuàng)建著上PB的數(shù)據(jù)。
以往人們認為,把企業(yè)的運營數(shù)據(jù)進行深入分析后,就會有回報。但很多企業(yè)面臨的一個問題是,數(shù)據(jù)處理不夠全面和及時。從道理上講,誰掌握的數(shù)據(jù)越全面,得出的結(jié)論就越趨向于合理。企業(yè)只有構(gòu)建一個容納了足夠多信息的“數(shù)據(jù)倉庫”,才更有可能做出正確的決策。企業(yè)需要找到更好的方法來應對它們所產(chǎn)生的日益增加的大數(shù)據(jù)。擁有對大數(shù)據(jù)有效的數(shù)據(jù)管理、數(shù)據(jù)利用、快速響應成為探索的焦點。
目前這種情況已經(jīng)讓很多企業(yè)做出改變,更加相信“數(shù)據(jù)的力量”,自然而然,企業(yè)會在IT系統(tǒng)架構(gòu)上做一些改變。海量數(shù)據(jù)的出現(xiàn),數(shù)據(jù)結(jié)構(gòu)的改變,對數(shù)據(jù)管理及分析帶來挑戰(zhàn)。傳統(tǒng)的數(shù)據(jù)庫無法有效存儲不斷增長的數(shù)據(jù):隨著數(shù)據(jù)量的增加,隨著應用復雜導致的數(shù)據(jù)量的增加,這些數(shù)據(jù)量導致了數(shù)據(jù)存儲和處理壓力;數(shù)據(jù)倉庫無法線性擴容,管理難度大,擴容需求高,建設成本高,數(shù)據(jù)處理效率下降等一系列問題。
在過去幾十年中,企業(yè)都是把自己的數(shù)據(jù)放在自己的服務器中,用一道道的防火墻和各種安全屏障嚴加看管。傳統(tǒng)的建設方案面臨著建設成本高、運營成本高、擴展性有限等問題。日益增大的數(shù)據(jù)流并不只是一個需要技術來解決的問題,它同時還帶來了新的可能性。比如云計算,海量數(shù)據(jù)處理平臺等,現(xiàn)在已經(jīng)成為了部分競爭力強的企業(yè)必需。尤其是云計算似乎成了低成本高效率IT系統(tǒng)的必然選擇。
對于大數(shù)據(jù)或者稱為海量數(shù)據(jù)的處理系統(tǒng),如果按照小型機+高端存儲+商業(yè)化數(shù)據(jù)庫的傳統(tǒng)架構(gòu)進行建設,一般系統(tǒng)建設初期根據(jù)業(yè)務量的預估對計算能力和存儲使用量測算,然后開始系統(tǒng)設計和軟硬件選型,最后在選定的基礎軟件和硬件平臺上進行應用軟件的開發(fā),應用軟件模塊間耦合度較高。系統(tǒng)的架構(gòu)、處理能力、軟件和硬件型號較為固定,軟件和操作系統(tǒng)耦合度較高。再者為了滿足系統(tǒng)的高可用性,一般會系統(tǒng)的每一個節(jié)點設置一個備份。傳統(tǒng)建設方案面臨以下問題:(1)資源不能充分利用:在系統(tǒng)建成初期如果業(yè)務量較小,則會存在資源閑置或空轉(zhuǎn)的情況。再者為了滿足系統(tǒng)的高可用性,一般會系統(tǒng)的每一個節(jié)點設置一個備份,備份用資源一般處在“守候”狀態(tài)。(2)可擴展性不足:因系統(tǒng)軟硬件間耦合度較高,擴容較為困難。(3)實現(xiàn)高可用性的成本較高:對備份節(jié)點的投資基本與活動節(jié)點相當。
海量數(shù)據(jù)、低成本、易擴展 、高可用、高效支撐等問題對傳統(tǒng)解決方案帶來的挑戰(zhàn),傳統(tǒng)的小型機+高端存儲+大型關系型數(shù)據(jù)庫的建設模式,已經(jīng)不能適應要求。本文基于電信運營商間業(yè)務支撐系統(tǒng)的特點,提出了基于云計算的X86+低端磁盤陣列+開源數(shù)據(jù)庫的創(chuàng)新系統(tǒng)解決方案,在完成系統(tǒng)功能和節(jié)約投資方面取得了較好的效果,為其他類似系統(tǒng)的集中化建設提供參考。
3.1 何為云計算
云計算的核心思想,是將大量主機資源進行統(tǒng)一管理和調(diào)度,構(gòu)成一個計算資源池向用戶按需服務?!霸啤敝械馁Y源是可以無限擴展的,并且可以隨時獲取、按需使用、隨時擴展、按使用付費。云計算技術使整個IT產(chǎn)業(yè)發(fā)生了質(zhì)的變化,用戶從關注 軟硬件到關注服務。
云計算的諸多定義直接反映了提出者的理解角度和利益,以Google、Amazon、Salesforce.com、Yahoo、Facebook為代表互聯(lián)網(wǎng)企業(yè)極力推崇云計算是一種新的業(yè)務模式和用戶體驗,力圖顛覆傳統(tǒng)的IT運營模式,借助云計算向IT領域拓展。這些互聯(lián)網(wǎng)企業(yè)自行開發(fā)或借鑒Google披露的技術,通過強大的分布式技術將上萬臺(Google號稱百萬臺)服務器聚合為一臺邏輯上能夠提供強大的計算和存儲能力的“虛擬機”,并致力于開發(fā)一套互聯(lián)網(wǎng)“云操作系統(tǒng)”,用戶通過互聯(lián)網(wǎng)共享這臺“計算機”?;ヂ?lián)網(wǎng)企業(yè)通過相對低端服務器、開源的Linux操作系統(tǒng)、開源的MySQL數(shù)據(jù)庫、開源的Apache、開源的Java開發(fā)語言追求更大的性價比,從理念上講,用戶通過門戶(通常是WEB)直接使用應用程序,云計算平臺由互聯(lián)網(wǎng)公司建設維護,傳統(tǒng)的IT巨頭們的利潤空間大大縮水了。
3.2 適合云計算的典型場景
人們往往將云看做無所不能的技術,但目前在云技術發(fā)展的初級階段,并非所有的應用都適合云計算的方式,根據(jù)云計算的特點,下面幾個應用場景可以從云計算應用中得到最為顯著的效果。
(1)間斷性應用場景
間斷性應用場景的特點是不需要連續(xù)的使用計算服務。典型的案例是測試環(huán)境的搭建,云計算通過按需分配的方式可以比較好地符合這類應用場景。
(2)快速增長應用場景
快速增長應用場景指的是應用需求量增長比較迅速的情況,傳統(tǒng)的升級很難快速滿足。云計算可以通過動態(tài)分配資源的方式來滿足這類應用場景。
(3)需求突增性應用場景
需求突增性應用場景是指應用的使用量短時間內(nèi)快速增加又很快回落的情況。比如話費查詢的訪問在月初出賬后突增,月中回落,10010客服系統(tǒng)話務量月末月初會達到頂峰,過后自然回落。
在系統(tǒng)設計中引入云計算的思想,通過主機資源自適應管理、分布式并行處理、數(shù)據(jù)庫網(wǎng)關等關鍵技術的實現(xiàn),實現(xiàn)了系統(tǒng)自動平滑伸縮功能,提升了系統(tǒng)的可擴展性、低成本、負載均衡、高可用性及分布式、高性能計算。
4.1 主機資源自適應管理
根據(jù)系統(tǒng)監(jiān)控對系統(tǒng)中的主機資源收集的數(shù)據(jù)和事件,對主機資源統(tǒng)一透明管理,實現(xiàn)資源可加入、移除及容錯,提高系統(tǒng)的可擴展性、高可用性和系統(tǒng)資源的利用率。系統(tǒng)通過智能監(jiān)控實現(xiàn)對每臺加入系統(tǒng)設備和系統(tǒng)軟件的監(jiān)控。
4.2 分布式并行批處理作業(yè)調(diào)度
系統(tǒng)處理核心為“作業(yè)調(diào)度+業(yè)務原語”, 將應用拆解抽象為若干個相互獨立的原語操作,原語實例化為作業(yè)。作業(yè)生成負責將作業(yè)生成到作業(yè)池,作業(yè)調(diào)度按照預定的路由策略實現(xiàn)對作業(yè)的調(diào)度,各節(jié)點則通過管理節(jié)點的作業(yè)調(diào)度來進行負載均衡。目前設計的調(diào)度策略有:計算能力算法(Capacity Scheduler)、計數(shù)法、輪詢法(Round Robin)。
4.3 數(shù)據(jù)庫網(wǎng)關
通過數(shù)據(jù)庫網(wǎng)關來實現(xiàn)分布式數(shù)據(jù)庫,數(shù)據(jù)庫性能可以根據(jù)主機節(jié)點的增加而線性提高。利用分布式計算來實現(xiàn)大數(shù)據(jù)量計算需求。主要功能特點如下:(1)統(tǒng)一管理:提供統(tǒng)一的表模式管理、數(shù)據(jù)分布及主機資源的監(jiān)控管理。(2)統(tǒng)一訪問:將現(xiàn)在不同數(shù)據(jù)的存儲方式整合在一起,實現(xiàn)在線數(shù)據(jù),歷史數(shù)據(jù)的統(tǒng)一訪問。(3)高度透明:用戶可以通過數(shù)據(jù)庫網(wǎng)關使用自己的數(shù)據(jù)庫用戶,查詢各自的數(shù)據(jù),無需關心數(shù)據(jù)的具體位置。
本文以電信運營商間的業(yè)務支撐系統(tǒng)為例,對電信業(yè)務支撐系統(tǒng)基于海量數(shù)據(jù)的云計算解決方案進行了較為全面的分析。通過“主機資源負載均衡管理”實現(xiàn)了資源的動態(tài)、按需自動服務;通過“分布式并行批處理作業(yè)調(diào)度”實現(xiàn)了計算的云化;通過“數(shù)據(jù)庫網(wǎng)關”實現(xiàn)了數(shù)據(jù)存儲的云化。