摘 要:以網(wǎng)格計(jì)算為基礎(chǔ)而飛速發(fā)展的云計(jì)算模型的使用范圍越來越廣泛。眾多大型公司陸續(xù)提出自身的云計(jì)算架構(gòu)并為客戶提供自身的云計(jì)算平臺(tái)與服務(wù),軟件架構(gòu)隨云計(jì)算的普遍應(yīng)用而受到挑戰(zhàn)。本文在對(duì)云計(jì)算的基本概念及其關(guān)鍵技術(shù)進(jìn)行簡(jiǎn)要介紹的基礎(chǔ)上,較為詳細(xì)的論述了云計(jì)算的技術(shù)架構(gòu),并提出了一種能夠提高數(shù)據(jù)安全性的基于云計(jì)算平臺(tái)的軟件架構(gòu)。
關(guān)鍵詞:云計(jì)算;軟件架構(gòu);數(shù)據(jù)管理
中圖分類號(hào):TP371.11
互聯(lián)網(wǎng)的快速發(fā)展使人們的生活更加便利,傳統(tǒng)門戶網(wǎng)已經(jīng)無法滿足人們的需求,而對(duì)高業(yè)務(wù)量的互聯(lián)網(wǎng)服務(wù)需求與日俱增。隨著計(jì)算機(jī)存儲(chǔ)信息及硬件設(shè)備、數(shù)據(jù)庫(kù)建設(shè)及維護(hù)等方面的相對(duì)成本逐漸上升,利用新的平臺(tái)及調(diào)度機(jī)制以進(jìn)行高效的數(shù)據(jù)處理顯得尤為重要。近多年來,云計(jì)算成為國(guó)際上業(yè)界學(xué)者進(jìn)行相關(guān)研究的熱潮,是信息產(chǎn)業(yè)較大的一項(xiàng)創(chuàng)新。云計(jì)算是基于互聯(lián)網(wǎng)的一種動(dòng)態(tài)的能夠伸縮虛擬化的新型計(jì)算模式,為用戶提供了包括計(jì)算能力、存儲(chǔ)能力、交互能力等多種計(jì)算資源的服務(wù)。云計(jì)算不同于傳統(tǒng)方式下采用桌面計(jì)算資源的模式,其新型的資源管理模式使計(jì)算資源成為提供大眾服務(wù)的一項(xiàng)社會(huì)基礎(chǔ)設(shè)施。隨著云計(jì)算的不斷發(fā)展和深入,更多的應(yīng)用逐步遷移到云計(jì)算。不過,云計(jì)算在發(fā)展過程中也存在著一些非常關(guān)鍵的問題,最突出的莫過于數(shù)據(jù)的安全性問題,這也是限制云計(jì)算發(fā)展的首要因素。只有對(duì)云計(jì)算所存在的眾多問題進(jìn)行全面正確的分析,才能夠使其在眾多組織、企業(yè)中被普遍的應(yīng)用,將自身的數(shù)據(jù)資源安心的存放到云計(jì)算所提供的服務(wù)中以便進(jìn)行企業(yè)的管理。因此,提出一種能夠安全可靠的進(jìn)行數(shù)據(jù)訪問的方案對(duì)用戶來說至關(guān)重要。
1 云計(jì)算的基本概念
云計(jì)算逐漸的被大眾認(rèn)可,其概念與相關(guān)技術(shù)也被普遍的提及并得到大量的研究,但是并沒有出臺(tái)世界范圍內(nèi)認(rèn)可的標(biāo)準(zhǔn)。根據(jù)我國(guó)云計(jì)算網(wǎng)所給出的定義,云計(jì)算在分布式計(jì)算(Distributed Computing)、并行計(jì)算(Parallel Computing)及網(wǎng)格計(jì)算(Grid Comouting)的基礎(chǔ)上發(fā)展而來,是較為新型的一種商業(yè)性計(jì)算模型。云計(jì)算的基本特性有分布式計(jì)算、存儲(chǔ)特性、較高的擴(kuò)展性以及良好的管理等。該技術(shù)的特征:云計(jì)算系統(tǒng)提供服務(wù)的實(shí)現(xiàn)機(jī)制是透明的,不需要用戶作具體的了解便可方便的獲取所需服務(wù);云計(jì)算系統(tǒng)利用軟件即數(shù)據(jù)冗余及分布式存儲(chǔ)的方式降低系統(tǒng)的出錯(cuò)率,確保數(shù)據(jù)可靠;云計(jì)算具有海量存儲(chǔ)及高效的計(jì)算性能而為用戶提供更好的服務(wù),具有較高的可用性;云計(jì)算系統(tǒng)采用高層次的編程模型方便用戶根據(jù)自身的數(shù)據(jù)特點(diǎn)編寫滿足自身需求的云計(jì)算程序;服務(wù)多樣且具有良好的經(jīng)濟(jì)性。
2 基于云計(jì)算平臺(tái)的軟件架構(gòu)
2.1 云計(jì)算的軟件架構(gòu)層
通過對(duì)現(xiàn)有的關(guān)于云計(jì)算產(chǎn)品及其系統(tǒng)架構(gòu)的分析和總結(jié),可以將云計(jì)算的架構(gòu)分為三層,它們分別是核心服務(wù)層、服務(wù)管理層和用戶訪問接口層。核心服務(wù)層作為架構(gòu)層的主體,其主要作用是將系統(tǒng)的硬件基礎(chǔ)設(shè)施、軟件運(yùn)行環(huán)境及應(yīng)用程序整合成面向用戶的,具有高可靠性、多樣化及適應(yīng)能力強(qiáng)的應(yīng)用服務(wù)。而服務(wù)管理層則主要是對(duì)核心服務(wù)層的活動(dòng)進(jìn)行管理和控制,以確保其始終安全穩(wěn)定的提供面向用戶的服務(wù)。用戶訪問接口層的作用是為用戶端與云系統(tǒng)之間提供訪問和交流的通道。
2.1.1 核心服務(wù)層
一般來說,云計(jì)算的核心服務(wù)層又可以分為3個(gè)子層:基礎(chǔ)設(shè)施即服務(wù)層(IaaS)、平臺(tái)即服務(wù)層(PaaS)和軟件即服務(wù)層(SaaS)。其中IaaS主要是為用戶按需提供實(shí)體或虛擬的計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)資源等基礎(chǔ)設(shè)施部署服務(wù)。在這個(gè)過程中,用戶需要向供應(yīng)商提供相關(guān)的配置信息及個(gè)人數(shù)據(jù)。而PaaS是為云計(jì)算應(yīng)用程序部署及其管理提供服務(wù)。通過基于該層的軟件工具和開發(fā)語言,軟件開發(fā)者可以繞過底層網(wǎng)絡(luò)、系統(tǒng)和存儲(chǔ)的限制,很方便的使用云計(jì)算平臺(tái)進(jìn)行軟件架構(gòu)。SaaS是一種基于云計(jì)算基礎(chǔ)平臺(tái)所開發(fā)的應(yīng)用程序。對(duì)于企業(yè)來說,通過該層可以建立自己的電子郵件服務(wù)系統(tǒng)。而對(duì)于普通用戶來說,SaaS可以實(shí)現(xiàn)對(duì)云系統(tǒng)應(yīng)用程序的泛在訪問。
2.1.2 服務(wù)管理層
服務(wù)管理層主要是面向核心服務(wù)層,它能為核心服務(wù)層的安全穩(wěn)定及可靠運(yùn)行提供保障。其服務(wù)內(nèi)容包括服務(wù)質(zhì)量保障和安全管理等。由于云計(jì)算系統(tǒng)結(jié)構(gòu)龐大、服務(wù)繁雜,用戶很難直接找到自己所需的資源。因此,通過服務(wù)質(zhì)量保障協(xié)議,云計(jì)算服務(wù)提供商就能根據(jù)用戶的具體需求,提供相應(yīng)的服務(wù),保障其面向每一個(gè)用戶的服務(wù)質(zhì)量。而用戶在獲取云數(shù)據(jù)和云服務(wù)時(shí),確保信息交流的安全性是非常重要的。通過安全管理協(xié)議,可以對(duì)云系統(tǒng)采取數(shù)據(jù)隔離、隱私保護(hù)和訪問控制等安全保護(hù)措施,確保核心服務(wù)層的安全穩(wěn)定運(yùn)行。
2.1.3 用戶訪問接口層
用戶訪問接口層能夠?qū)崿F(xiàn)用戶對(duì)云系統(tǒng)程序的泛在訪問。其表現(xiàn)形式一般包括命令行、Web服務(wù)和Web門戶等。其中命令行和Web服務(wù)作為一種直接的訪問云系統(tǒng)的工具,能夠?qū)崿F(xiàn)多種服務(wù)方式的組合。而Web門戶則是將用戶端與云系統(tǒng)連接起來的通道和平臺(tái)。通過它,用戶可以將本地的應(yīng)用程序轉(zhuǎn)移到云系統(tǒng)中。這樣用戶只要能連接到云系統(tǒng)服務(wù)器,就可以隨時(shí)隨地的訪問其本地的數(shù)據(jù)和程序。這顯然可以極大的釋放本地服務(wù)器的壓力,提高用戶的辦公效率。
2.2 云計(jì)算軟件架構(gòu)關(guān)鍵技術(shù)
云計(jì)算是以數(shù)據(jù)為中心的一種數(shù)據(jù)密集型的超級(jí)計(jì)算方式。在數(shù)據(jù)的存儲(chǔ)、管理及編程模式方面都采用特有的多種先進(jìn)技術(shù),其中主要的關(guān)鍵性技術(shù)包括海量數(shù)據(jù)存儲(chǔ)與處理、編程模型及虛擬化技術(shù)。
2.2.1 海量數(shù)據(jù)存儲(chǔ)與處理技術(shù)
云計(jì)算系統(tǒng)以數(shù)據(jù)冗余和分布式方式進(jìn)行大數(shù)據(jù)集的分析、處理以保證高可用性和經(jīng)濟(jì)性。為及時(shí)滿足海量用戶的不同需求,并行提供各種服務(wù),云計(jì)算所采用的數(shù)據(jù)存儲(chǔ)技術(shù)必然具備高傳輸率、高吞吐率的能力。未來的發(fā)展方向會(huì)集中于高效的數(shù)據(jù)定位及超大規(guī)模的數(shù)據(jù)存儲(chǔ)、加密、安全可靠性和持續(xù)提高I/O速率等方面。
2.2.2 編程模型
為了讓用戶可以利用編程模型根據(jù)自身需要編寫簡(jiǎn)單的程序而更加輕松的獲得云計(jì)算帶來的服務(wù),所采用的編程模型須非常簡(jiǎn)單。同時(shí)要保證后臺(tái)的并行執(zhí)行及任務(wù)調(diào)度對(duì)用戶及編程人員的透明化。改進(jìn)現(xiàn)有的編程模式以便程序員可以方便的進(jìn)行緊耦合程序的編寫,實(shí)現(xiàn)運(yùn)行過程中的高效調(diào)度和任務(wù)的執(zhí)行,是將來MapReduce發(fā)展的主要方向。
2.2.3 虛擬化技術(shù)
虛擬化的實(shí)質(zhì)是將整合之后的資源用和物理量沒有關(guān)聯(lián)的方式進(jìn)行調(diào)用,是一種由物理資源轉(zhuǎn)變?yōu)榉?wù)形態(tài)的過程。虛擬化的應(yīng)用使硬件的容量增大同時(shí)使軟件的管理維護(hù)過程得到簡(jiǎn)化,提高了資源的靈活性和使用率,實(shí)現(xiàn)了物理資源的復(fù)用,是未來實(shí)現(xiàn)資源的自動(dòng)協(xié)調(diào)和配置的基礎(chǔ)。虛擬化技術(shù)把操作系統(tǒng)和物理硬件相隔離,允許多個(gè)操作系統(tǒng)不相同的虛擬機(jī)在一個(gè)物理機(jī)上獨(dú)立運(yùn)行。不管所采用的物理硬件是否相同,操作系統(tǒng)均把它們看作是一致的標(biāo)準(zhǔn)化硬件。
2.3 云計(jì)算的軟件架構(gòu)應(yīng)用
軟件系統(tǒng)框架有架構(gòu)元件、聯(lián)結(jié)器及任務(wù)流三個(gè)元素,為提高軟件的安全可靠性及擴(kuò)展能力需要對(duì)軟件架構(gòu)進(jìn)行設(shè)計(jì)。三層架構(gòu)設(shè)計(jì)是軟件框架設(shè)計(jì)的一種重要結(jié)構(gòu),它將系統(tǒng)在應(yīng)用邏輯上分成數(shù)據(jù)服務(wù)層、業(yè)務(wù)邏輯層及表示層。表示層主要用于用戶與系統(tǒng)的交互,通常指的是系統(tǒng)的操作界面。業(yè)務(wù)邏輯層的功能是數(shù)據(jù)的格式及其是否有效進(jìn)行驗(yàn)證,用戶的合法性驗(yàn)證等以保證系統(tǒng)能夠健壯的運(yùn)行。數(shù)據(jù)服務(wù)層專用于數(shù)據(jù)庫(kù)的交互并執(zhí)行數(shù)據(jù)的修改、增刪、顯示等操作。目前的軟件系統(tǒng)大都采用基于C/S技術(shù)的三層架構(gòu),數(shù)據(jù)的存儲(chǔ)一般采用DBMS或者XML文檔的方式易使服務(wù)器發(fā)生不可修復(fù)的錯(cuò)誤后產(chǎn)生數(shù)據(jù)丟失的可能。
軟件的設(shè)計(jì)開發(fā)隨著云計(jì)算技術(shù)的迅猛發(fā)展而面臨挑戰(zhàn),三層架構(gòu)模式能夠完全遷移至云計(jì)算中的SaaS服務(wù)模式中。不過SaaS服務(wù)模式也存在一些較為突出的問題,包括與云計(jì)算服務(wù)供應(yīng)商之間的信任,以及軟件對(duì)云計(jì)算服務(wù)過于依賴的問題。此外,在云計(jì)算服務(wù)正常時(shí),網(wǎng)絡(luò)狀況也會(huì)對(duì)軟件的使用產(chǎn)生影響?;谠朴?jì)算技術(shù)目前的發(fā)展情況,為降低軟件對(duì)云計(jì)算和網(wǎng)絡(luò)性能的依賴程度,下面提出一種較為可行的基于云計(jì)算平臺(tái)的軟件架構(gòu)模式
與傳統(tǒng)的三層架構(gòu)模式相比,基于云計(jì)算平臺(tái)的軟件架構(gòu)在表示層及業(yè)務(wù)邏輯層并不發(fā)生變化,只是在數(shù)據(jù)服務(wù)層提供包括本地?cái)?shù)據(jù)及云數(shù)據(jù)的兩種數(shù)據(jù)服務(wù)。本地?cái)?shù)據(jù)服務(wù)不需安裝DBMS軟件而只采用XML文檔存儲(chǔ)數(shù)據(jù),從而使服務(wù)器的性能得到提升。不論是選擇本地服務(wù)器的XML文檔或是云計(jì)算服務(wù)中的數(shù)據(jù)服務(wù),軟件均能夠一次讀取數(shù)據(jù)到內(nèi)存中,在完成數(shù)據(jù)處理以后再把數(shù)據(jù)處理結(jié)果傳回?cái)?shù)據(jù)服務(wù)并長(zhǎng)久儲(chǔ)存,有效的提高了系統(tǒng)的工作效率。
基于云計(jì)算平臺(tái)的軟件架構(gòu)新增了同步服務(wù)層,它不僅使本地服務(wù)器XML文檔與云計(jì)算服務(wù)中的數(shù)據(jù)實(shí)現(xiàn)同步,也能夠監(jiān)測(cè)數(shù)據(jù)服務(wù)的運(yùn)行狀態(tài)。在軟件系統(tǒng)將數(shù)據(jù)信息一次讀入內(nèi)存之后,用戶在內(nèi)存中進(jìn)行各種數(shù)據(jù)操作。數(shù)據(jù)同步服務(wù)可以利用時(shí)間控件在用戶不使用軟件系統(tǒng)的時(shí)間終止業(yè)務(wù)邏輯層的相關(guān)服務(wù),同時(shí)把放入內(nèi)存的數(shù)據(jù)更新到本地服務(wù)器的XML文檔及云計(jì)算服務(wù)中,完成同步操作以后就可以重新進(jìn)行業(yè)務(wù)邏輯層的服務(wù),提高了網(wǎng)絡(luò)寬帶的使用率。同步服務(wù)監(jiān)測(cè)軟件可以保證在發(fā)現(xiàn)數(shù)據(jù)服務(wù)問題后立刻啟動(dòng)新的數(shù)據(jù)服務(wù),使其不再依賴云計(jì)算。
在基于云計(jì)算平臺(tái)的軟件架構(gòu)中,系統(tǒng)中的數(shù)據(jù)同時(shí)備份在本地服務(wù)器的XML文檔及云計(jì)算服務(wù)中的數(shù)據(jù)服務(wù)中。即使出現(xiàn)云計(jì)算服務(wù)障礙,軟件依舊保存相對(duì)應(yīng)的數(shù)據(jù)備份。在本地服務(wù)器發(fā)生故障而導(dǎo)致數(shù)據(jù)的丟失時(shí),云計(jì)算服務(wù)保留數(shù)據(jù)備份,從而使軟件系統(tǒng)中的數(shù)據(jù)具有雙重備份而得到保障。此外,這種軟件架構(gòu)模式具有不產(chǎn)生孤島信息、不需涉及數(shù)據(jù)遷移等優(yōu)點(diǎn)。
從軟件架構(gòu)的數(shù)據(jù)流圖中能夠看到本地?cái)?shù)據(jù)及云數(shù)據(jù)是通過數(shù)據(jù)緩存實(shí)現(xiàn)同步的。在用戶需要獲取系統(tǒng)中的數(shù)據(jù)信息時(shí),會(huì)把被訪問的數(shù)據(jù)表存入到緩存區(qū)域以方便用戶能夠進(jìn)行再次訪問。用戶進(jìn)行數(shù)據(jù)的再次訪問時(shí)不需反復(fù)的讀取數(shù)據(jù)庫(kù)而只是從內(nèi)存中對(duì)系統(tǒng)的數(shù)據(jù)進(jìn)行操作。這樣就在很大程度上縮短了系統(tǒng)響應(yīng)的時(shí)間,從而有效的提升了運(yùn)行的效率。
3 結(jié)束語
上述基于云計(jì)算平臺(tái)的軟件架構(gòu)模型提高了云計(jì)算條件下數(shù)據(jù)的安全可靠性。隨著云計(jì)算的廣泛應(yīng)用,為提高系統(tǒng)的運(yùn)行效率,系統(tǒng)架構(gòu)的升級(jí)有待進(jìn)一步的研究。
參考文獻(xiàn):
[1]李剛健.基于虛擬化技術(shù)的云計(jì)算平臺(tái)架構(gòu)研究[J].吉林建筑工程學(xué)院學(xué)報(bào),2011(01).
[2]程國(guó)江.云計(jì)算簡(jiǎn)介及應(yīng)用前景[J].中國(guó)新技術(shù)新產(chǎn)品,2011(08).
[3]李曉輝.云計(jì)算技術(shù)研究與應(yīng)用綜述[J].電子測(cè)量技術(shù),2011(07).
[4]韓金華.云計(jì)算綜述[J].企業(yè)技術(shù)開發(fā),2010(15).
作者簡(jiǎn)介:邱海斌(1980.10-),男,遼寧人,碩士,講師,研究方向:軟件架構(gòu)、軟件設(shè)計(jì)。
作者單位:沈陽廣播電視大學(xué),沈陽 110003