陳佶弘
【摘 要】傳統(tǒng)IT平臺架構無法應對大數(shù)據(jù)井噴式的數(shù)據(jù)管理和存儲壓力。本文站在更好地服務大數(shù)據(jù)采集和分析的角度,設計了大數(shù)據(jù)背景下的IT平臺架構,同時還比較了并行計算、網(wǎng)格計算等幾種重要的架構承載技術,比較了其各自的優(yōu)勢和不足。
【關鍵詞】大數(shù)據(jù);軟件架構;并行計算、網(wǎng)格計算;索引
【Abstract】The traditional IT platform can not deal with the data management and storage pressure of big data blowout type. This article stands in the better service data acquisition and analysis angle design under the background of big data it platform architecture, the parallel computing, grid computing and so on several important architecture bearing technology, compared with their respective advantages and shortcomings.
【Key words】Big data; Software architecture; Parallel computing; Grid computing; Index
0 引言
大數(shù)據(jù)的概念已經(jīng)是如今IT界炙手可熱的話題之一。如何使用大數(shù)據(jù),如何在大數(shù)據(jù)背景下更新現(xiàn)有的技術架構,已經(jīng)成為人們研究的熱點。許多IT人士都在收集和分析這些新的數(shù)據(jù)源,期望通過這些新數(shù)據(jù)源,通過挖掘技術,分析其所帶來的海量信息。
大數(shù)據(jù)(Big Data)是由互聯(lián)網(wǎng)蓬勃發(fā)展而帶來的一種特有的現(xiàn)象。一般定義,數(shù)據(jù)量的大小超出了一定限制,需要對其進行非常規(guī)的抓取、分析、處理工作的數(shù)據(jù)就是“大數(shù)據(jù)”,這樣的大數(shù)據(jù)包括了日常我們使用的網(wǎng)頁數(shù)據(jù)、網(wǎng)站上的交互數(shù)據(jù)以及在物聯(lián)網(wǎng)模式下產(chǎn)生的部分活動。大數(shù)據(jù)除了具有大容量、多類型和高時效等基本特征外,還具有一些區(qū)別于傳統(tǒng)數(shù)據(jù)源的重要特征[1]。
a.大數(shù)據(jù)并非是通過人產(chǎn)生的,而是計算機生成的。在產(chǎn)生這些數(shù)據(jù)的過程之中,人工參與是極少量的;
b.大數(shù)據(jù)通常是一種全新的數(shù)據(jù)源。它與傳統(tǒng)數(shù)據(jù)源不同,它可能來自于網(wǎng)絡的各個端的隱型數(shù)據(jù)。
c.很多大數(shù)據(jù)的設計并不友好。數(shù)據(jù)的獲取很容易,但是處理卻不那么容易。
d.大數(shù)據(jù)可能并不蘊含大量的價值。需要不斷的提煉和分析才可以找到其中有價值的部分。
1 大數(shù)據(jù)背景下IT平臺架構的設計
1.1 傳統(tǒng)IT平臺架構
IT平臺的傳統(tǒng)體系架構普遍使用的設計模式是層次式架構。一般分為三層,從上至下分別為:表示層、業(yè)務邏輯層、數(shù)據(jù)訪問層,圖1為傳統(tǒng)IT平臺體系架構圖。
其中,表示層實現(xiàn)用戶與軟件系統(tǒng)的交互,該層主要的構成元素是文本框、標簽、表單的UI元素,后臺的業(yè)務操作流程是從表示層的提交操作開始的;業(yè)務邏輯層是整個軟件體系架構的主旨部分,實現(xiàn)系統(tǒng)的業(yè)務流程,通過分析用戶提交的請求確定業(yè)務邏輯、操作函數(shù)以及對數(shù)據(jù)層的操作類型,它是實現(xiàn)系統(tǒng)功能的主要環(huán)節(jié);數(shù)據(jù)訪問層主要實現(xiàn)數(shù)據(jù)庫的訪問,實現(xiàn)對底層數(shù)據(jù)庫的增、刪、改、查操作;安全服務層是確保系統(tǒng)信息安全的主要功能層。
1.2 大數(shù)據(jù)下的IT平臺架構
大數(shù)據(jù)信息系統(tǒng)體系架構分為五層[2],從上而下分別為:用戶界面層、可配置層、應用服務層、業(yè)務邏輯層、數(shù)據(jù)訪問層,如圖2所示:
(1)用戶界面層
大數(shù)據(jù)信息體系架構中的用戶界面層與傳統(tǒng)IT平臺架構中的表示層同樣作為用戶與服務器之間的接口,但是二者存在著很大的不同,其主要表現(xiàn)在表示層頁面的可定制性、面向的數(shù)據(jù)群的大小和表示層的展現(xiàn)方式等方面。其根本實現(xiàn)是基于大數(shù)據(jù)可定制的特性,較傳統(tǒng)的IT平臺架構存在較大的優(yōu)勢。
(2)可配置層
大數(shù)據(jù)模式中的可配置層是相對于傳統(tǒng)IT平臺架構新增的設計層次??膳渲霉δ苤饕〝?shù)據(jù)的配置、功能的配置、界面的配置和流程的配置等。在大數(shù)據(jù)模式下,數(shù)據(jù)差異性較大,實際數(shù)據(jù)使用需求也各不相同,因此大數(shù)據(jù)平臺應支持對不同級別服務的定制功能。
(3)業(yè)務邏輯層
大數(shù)據(jù)架構中的業(yè)務邏輯層是整個IT平臺架構的主旨部分。業(yè)務邏輯層除了具有傳統(tǒng)層所具有的特點,同時具有對可配置層業(yè)務整合功能,它為可配置層提供服務,構成用戶的業(yè)務可配置流程,在結構上它封裝了數(shù)據(jù)訪問層的相關操作,該層主要由具體業(yè)務邏輯的類組成。
(4)應用服務層
應用服務層是大數(shù)據(jù)軟件架構中新增的設計層次,傳統(tǒng)的IT平臺設計面向的是數(shù)量較少的應用,功能較為單一,但是大數(shù)據(jù)模式可定制性決定了大數(shù)據(jù)應用的多樣性,同時大數(shù)據(jù)模式采用應用即服務的設計模式,應用通用層提供了大數(shù)據(jù)設計中所有應用均以服務的方式向用戶提供的功能,是大數(shù)據(jù)服務實現(xiàn)的基礎。
(5)數(shù)據(jù)訪問層
大數(shù)據(jù)模式的數(shù)據(jù)訪問層和傳統(tǒng)IT平臺架構的數(shù)據(jù)訪問層一樣,具有對數(shù)據(jù)庫物理數(shù)據(jù)進行增、刪、改、查等操作的功能,同時維護數(shù)據(jù)訪問控制。大數(shù)據(jù)數(shù)據(jù)存儲模型不同于傳統(tǒng)軟件數(shù)據(jù)存儲模型,其數(shù)據(jù)訪問層包括數(shù)據(jù)邏輯存儲層和數(shù)據(jù)操作控制。數(shù)據(jù)邏輯存儲模型實現(xiàn)了數(shù)據(jù)庫物理數(shù)據(jù)的邏輯存儲,數(shù)據(jù)操作控制的功能同傳統(tǒng)設計模式中數(shù)據(jù)訪問相同。
(6)安全服務
大數(shù)據(jù)安全在傳統(tǒng)軟件架構安全問題的基礎上表現(xiàn)了新的特點,其面臨的安全威脅主要體現(xiàn)在數(shù)據(jù)的安全上,主要包括數(shù)據(jù)訪問控制、數(shù)據(jù)恢復和數(shù)據(jù)隔離等多個方面。
通過對傳統(tǒng)軟件架構和大數(shù)據(jù)模式軟件架構的描述,我們可以看到,兩種架構之間存在很大的差異,這主要是由大數(shù)據(jù)多租戶、可配置特性所決定的,但是當前大數(shù)據(jù)體系架構的設計仍然存在缺陷,本文將主要研究大數(shù)據(jù)體系架構的數(shù)據(jù)訪問層和安全服務層方面的設計思想,以達到改進大數(shù)據(jù)體系結構,提高體系架構可用性、健壯性和穩(wěn)定性的目的。
2 大數(shù)據(jù)背景下架構處理技術
2.1 云計算
通過對硬件的虛擬化,云計算可以對大數(shù)據(jù)進行較快的提取、存儲、處理、管理以及分析。
目前較多運用云計算平臺Hadoop架構和Mapreduce模式組合應用處理海量數(shù)據(jù),Hadoop是云計算平臺的架構,Mapreduce是一種處理海量數(shù)據(jù)的模式方法,在Hadoop架構體系中運用了Mapreduce并行編程計算模式處理海量的數(shù)據(jù),提高了大數(shù)據(jù)分析的性能。
2.2 網(wǎng)格計算
某些計算過程與算法無法全部轉(zhuǎn)換成SQL,或者難以嵌入數(shù)據(jù)庫的某個自定義函數(shù)中。在這種情況下,必須把數(shù)據(jù)從傳統(tǒng)的分析環(huán)境中抽取出來,然后用傳統(tǒng)的分析工具和軟件進行分析,隨著分析師越來越多,以及分析任務越來越繁重,必須對這些服務器進行擴容或者增加更多的服務器,這些都是相當昂貴的,網(wǎng)格配置可以降低系統(tǒng)成本并提高性能,它使用大量的低成本計算機,而不是一臺或幾臺高性能的服務器。
網(wǎng)格計算還包括高性能的分析架構,在這個架構中,網(wǎng)格計算環(huán)境下的不同計算機都知道其他計算機的存在,并且不同計算機可以共享信息。這種協(xié)作方式,在同一時間充分使用了網(wǎng)格計算環(huán)境下的所有計算資源,使得某些大型任務可以更快地完成。
2.3 MapReduce
MapReduce是谷歌提出的一個使用簡易的軟件框架,用于大規(guī)模數(shù)據(jù)集的并行運算,基于它寫出來的應用程序能夠運行在由上千個普通機器組成的大型集群上,并以一種可靠容錯的方式并行處理上太級別的數(shù)據(jù)集。分析師可以創(chuàng)建一個映射程序來搜索并分析文本記錄中的每一個詞語,然后將這些詞語從段落中解析出來;許多大型的數(shù)據(jù)流都包含了大量沒有長期價值的信息,部署在云端的彈性MapReduce可以根據(jù)需求實時地按需配置和訪問服務器集群,實現(xiàn)對大量和密集型數(shù)據(jù)任務的處理,比如日志文件分析、數(shù)據(jù)挖掘等。
3 結語
大數(shù)據(jù)背景下,各類平臺架構及處理技術都應該結合起來進行協(xié)同工作,這樣才能最大程度將數(shù)據(jù)進行提煉。例如,數(shù)據(jù)庫可以運行在云里;數(shù)據(jù)庫可以內(nèi)置MapReduce功能,MapReduce也可以直接處理云計算環(huán)境內(nèi)的數(shù)據(jù),MapReduce還可以對部署在云內(nèi)的數(shù)據(jù)庫的庫內(nèi)數(shù)據(jù)進行處理。這些技術的綜合運用,互相補強,在統(tǒng)一的分析環(huán)境中可以是數(shù)據(jù)被高效利用,使得大數(shù)據(jù)的每一項技術都變得實用和高效。
【參考文獻】
[1]Bill Franks.駕馭大數(shù)據(jù)[M].北京:人民郵電出版社,2013.
[2]曾巧文.大數(shù)據(jù)平臺的若干關鍵技術研究[D].廣東:廣東工業(yè)大學,2010.
[責任編輯:楊玉潔]