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