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