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