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