1前言
隨著智能移動終端的普及與應用,移動互聯網應用市場已經成為一個日益繁榮的生態系統,采用云計算技術實現移動互聯網應用成為主流,即通過移動網絡以按需、易擴展的方式,獲得所需基礎設施、平臺、軟件(或應用)等的一種IT資源或(信息)服務的交付與使用模式。2009年中國各大運營商獲得3G牌照,標志著移動互聯網在中國的發展進入了快車道。我國投入了萬億規模的3G網絡若要成功,也必須依賴于類同蘋果AppStore這樣的移動云計算的成功。利用移動云計算的各種移動互聯網服務正逐漸深入到人們的生活中,而人們對移動互聯網各類服務的大量使用又將反過來進一步推動“移動云計算”市場與技術的發展。
移動終端已經由原來單一的通話功能向語音、數據、圖像綜合方向演變,手機正給人們帶來越來越豐富的應用。進入3G時代以后,移動通信網絡的數據傳輸速度顯著提高,是GSM的200倍、GPRS的13倍之多。結合通信網絡如此革命化的技術突破,智能手機和高速的 移動互聯網接入的結合,正不斷改變著人們的生活,從而可隨時隨地享受互聯網帶來的快樂。來自中國互聯網信息中心的數據,截至2010年底,中國有3.03億用戶使用手機上網,較去年增加了2.3億,手機上網用戶如此高速的增長,給運營商帶來了豐厚回報,同時也伴隨著一些嚴重的問題:用戶手機流量的突破性增長給運營商的運營支撐系統帶來了嚴峻的挑戰,用戶的手機上網產生了大量的上網日志,根據某運營商某省公司數據顯示,每天用來記錄用戶上網行為的數據達到了1T;而隨著用戶消費意識的不斷增強,用戶對自己上網的流量也越來越關心,他們關心自己流量的使用情況、所使用的流量明細,就像對語音和短信一樣,需要明明白白的消費,面對這些海量數據查詢,傳統的數據庫已經很難支撐現有的應用。本文將以用戶上網記錄查詢系統為例來講述分布式文件系統和分布式數據庫在運營商BSS中的應用。
2分布式上網記錄查詢系統的關鍵技術
所謂分布式,在這里,很狹義的指代以Google的三駕馬車GFS,Map/Reduce,BigTable為框架核心的分布式存儲和計算系統。Hadoop是一個基于Java實現的、開源的、分布式存儲和計算的項目。作為這個領域最富盛名的開源項目之一,它的使用者也是大牌如云,包括Yahoo,Amazon,Facebook等。Hadoop本身,實現的是分布式的文件系統HDFS,和分布式的計算(Map/Reduce)框架。此外,Hadoop包含一系列擴展項目,包括了分布式文件數據庫HBase(所對應Google的BigTable)、分布式協同服務ZooKeeper(對應Google的Chubby),等等。
2.1分布式文件系統
分布式文件系統,在整個分布式系統體系中處于最低層最基礎的地位。顧名思義,分布式文件系統就是分布式+文件系統。它包含這兩個方面的內涵,從文件系統客戶使用的角度來看,它就是一個標準的文件系統,提供了一系列API,由此進行文件或目錄的創建、移動、刪除以及對文件的讀寫等操作。從內部實現來看,分布式的系統則不再和普通文件系統一樣復雜管理本地磁盤,它的文件內容和目錄結構都不是存儲在本地磁盤上,而是通過網絡傳輸到遠端系統上。并且,同一個文件存儲不只是在一臺機器上,而是在一簇機器上分布式存儲,協同提供服務,正所謂分布式。
因此,考量一個分布式文件系統的實現,其實不妨可以從這兩方面來分別剖析,而后合二為一。首先,看它如何去實現文件系統所需的基本增、刪、改、查的功能;然后,看它如何考慮分布式系統的特點,提供更好的容錯性、負載平衡等。這二者合二為一,就明白了一個分布式文件系統整體的實現模式。
2.2分布式計算
分布式計算,同樣是一個寬泛的概念,在這里,它狹義的指代按GoogleMap/Reduce框架所設計的分布式框架。分布式文件系統,很大程度上,是為各種分布式計算需求所服務的。其實分布式文件系統就是加了分布式的文件系統,類似的定義推廣到分布式計算上,我們可以將其視為增加了分布式支持的計算函數。Map/Reduce框架接受各種格式的鍵值對文件作為輸入/讀取計算后,最終生成自定義格式的輸出文件。而從分布式的角度上看,分布式計算的輸入文件往往規模巨大,且分布在多個機器上,單機計算完全不可支撐且效率低下,因此Map/Reduce框架需要提供一套機制,將此計算擴展到無限規模的機器集群上進行。MapReduce將復雜運行于大規模集群上的并行計算過程,高度地抽象到了兩個函數:Map和Reduce,這是一個令人驚訝的簡單卻又威力巨大的模型。適合用MapReduce來處理的數據集(或任務)有一個基本要求:待處理的數據集可以分解成許多小的數據集,而且每一個小數據集都可以完全并行地進行處理。
圖1 MapReduce計算流程
圖1說明了用MapReduce來處理大數據集的過程,這個MapReduce的計算過程簡而言之,就是將大數據集分解為成百上千的小數據集,每個(或若干個)數據集分別由集群中的一個結點(一般就是一臺普通的計算機)進行處理并生成中間結果,然后這些中間結果又由大量的結點進行合并,形成最終結果。
計算模型的核心是Map和Reduce兩個函數,這兩個函數由用戶負責實現,功能是按一定的映射規則將輸入的
以一個計算文本文件中每個單詞出現的次數的程序為例,
基于MapReduce計算模型編寫分布式并行程序非常簡單,程序員的主要編碼工作就是實現Map和Reduce函數,其它的并行編程中的種種復雜問題,如分布式存儲、工作調度、負載平衡、容錯處理、網絡通信等,均由MapReduce框架負責處理,程序員完全不用操心。
表1
2.3分布式數據庫
傳統數據庫已經逐漸被企業應用,在應用的過程當中遇到了很多問題;而分布式數據庫具備的高可用、高擴展等特點,則解決了傳統數據庫無法解決的問題。分布式數據庫這種高可用、高擴展特性將會形成一種技術趨勢。
傳統數據庫,比如關系型數據庫在解決問題的時遇到了瓶頸,大量訪問用戶在訪問量方面遇到了新的挑戰;真正未來的數據庫是一個分布式解決方案,它類似于NoSql解決方案。分布式數據庫解決方案具備兩個特點:第一,具有彈性可擴展性;第二,單點不可靠、但整個集群是可靠。分布式數據庫是未來數據庫或者互聯網應用比較青睞的數據庫。
這種分布式數據庫正在形成一種趨勢。分布式數據庫和傳統的關系型數據庫有一定的區別,兩者基于不同的理論。第一,傳統的數據庫有非常強的事務能力,因其一致性高,導致它的擴展性非常復雜;第二,對于互聯網企業來講,其更多關注的不是一致性,其只需要在最終達到數據一致就可以了。這樣,在傳統數據庫解決不了企業應用的問題時,就會出現分布式數據庫解決方案。分布式的數據庫解決方案并不代表傳統數據庫的終結,分布式數據庫有自己的應用領域,但傳統的數據庫也仍有自身的用武之地。未來,分布式數據庫和傳統的關系型數據庫應該是互相彌補、互相結合的。
3分布式數據庫在上網記錄查詢方面的優勢分析
分布式數據庫系統是在集中式數據庫系統的基礎上發展來的,分布式數據庫系統設計時基于硬件錯誤是常態,而不是基于異常、簡單的一致性模型、大規模數據集、異構軟硬件平臺間的可移植性、移動計算比移動數據更劃算等設計理念,因此分布式數據庫從誕生之日起,就非常適合查詢類應用。比較分布式數據庫系統與集中式數據庫系統,可以發現分布是數據庫系統具有下列優點:
(1)更適合分布式的管理與控制。分布式數據庫系統的結構更適合具有地理分布特性的組織或機構使用,允許分布在不同區域、不同級別的各個部門對其自身的數據實行局部控制。例如:實現全局數據在本地錄入、查詢、維護,這時由于計算機資源靠近用戶,可以降低通信代價,提高響應速度,而涉及其他場地數據庫中的數據只是少量的,從而可以大大減少網絡上的信息傳輸量;同時,局部數據的安全性也可以做得更好。
(2)具有靈活的體系結構。集中式數據庫系統強調的是集中式控制,物理數據庫是存放在一個場地上的,由一個DBMS集中管理。多個用戶只可以通過近程或遠程終端在多用戶操作系統支持下運行該DBMS來共享集中數據庫中的數據。而分布式數據庫系統的場地局部DBMS的自治性,使得大部分的局部事務管理和控制都能就地解決,只有在涉及其他場地的數據時才需要通過網絡作為全局事務來管理。分布式DBMS可以設計成具有不同程度的自治性,從具有充分的場地自治到幾乎是完全集中式的控制。
(3)系統經濟,可靠性高,可用性好。與一個大型計算機支持一個大型的集中數據庫再加一些進程和遠程終端相比,由超級微型計算機或超級小型計算機支持的分布式數據庫系統往往具有更高的性價比和實施靈活性。分布式系統比集中式系統具有更高的可靠性和更好的可用性。如由于數據分布在多個場地并有許多復制數據,在個別場地或個別通信鏈路發生故障時,不致于導致整個系統的崩潰,而且系統的局部故障不會引起全局失控。
(4)在一定條件下響應速度加快。如果存取的數據在本地數據庫中,那么就可以由用戶所在的計算機來執行,速度就快。
(5)可擴展性好,易于集成現有系統,也易于擴充。
4系統整體架構
整個系統的架構分為三個層次,即由底層的分布式文件系統、Map/Reduce計算模型和上層的分布式數據庫構成。其中底層的分布式文件系統和Map/Reduce計算模型采用開源的Hadoop來實現,上層的分布式數據庫是Hadoop的開源子項目HBase,最后由ZooKeeper來實現分布式協同服務。整個系統的調度關系如圖2所示。
圖2系統調度關系
按照整個系統的需求,將系統劃分為三個子系統:數據采集子系統、分布式數據庫平臺和數據的分析和挖掘系統,如圖3所示。
圖3三個不同的子系統
數據采集子系統對信令分析系統產生的用戶上網詳單數據進行實時解析,然后調用分布式數據框架hadoop的接口將數據導入到分布式數據庫中;分布式數據庫平臺建立在分布式文件系統HDFS之上,由HDFS負責文件的復制、校驗、備份等操作,分布式數據主要負責提供數據封裝接口,根據數據特點建立數據模型,實現keyvalue的數據庫查詢;數據的分析和挖掘子系統調用底層的分布式數據庫HBase接口,實現數據查詢、分析、展現等功能,同時給其他系統提供基本的功能接口。
整個系統的功能結構描述如圖4所示。
圖4系統功能結構
5結論
本文以上網記錄查詢系統為例,重點敘述了分布式數據庫中涉及的關鍵技術和以分布式為基礎的用戶上網記錄查詢系統的體系架構。基于軟件低成本的分布式存儲和分布式數據庫,已經成為未來云存儲發展的一種趨勢,從技術本身的發展來說,隨著分布式數據庫的不斷發展,將在更多的領域得到廣泛應用。這種基于軟件的云存儲憑借著低成本、易管理等優勢,和現有的各類數據應用相結合,實現快速落地,服務于企業,服務于用戶。我們有充分的理由相信,這種以分布式文件系統和分布式數據庫為代表的云存儲將得到更多企業的青睞。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://m.guhuozai8.cn/
本文標題:移動互聯網上網行為記錄應用云計算技術研究
本文網址:http://m.guhuozai8.cn/html/consultation/1083976262.html