基于微軟云計(jì)算存儲(chǔ)系統(tǒng)及技術(shù)服務(wù)平臺(tái)研究
摘要:云計(jì)算技術(shù)的興起和發(fā)展,正逐漸改變?nèi)藗兪褂梅?wù)和資源的方式,同時(shí)也成為計(jì)算機(jī)應(yīng)用領(lǐng)域的研究熱點(diǎn)。云存儲(chǔ)可實(shí)現(xiàn)云端海量數(shù)據(jù)的高效存儲(chǔ),是云計(jì)算的重要基礎(chǔ)云存儲(chǔ)可實(shí)現(xiàn)云端海量數(shù)據(jù)的高效存儲(chǔ),是云計(jì)算的重要基礎(chǔ)。對(duì)如何保證云存儲(chǔ)系統(tǒng)的服務(wù)質(zhì)量及可靠性,對(duì)于保證海量用戶的訪問效率,維護(hù)海量數(shù)據(jù)存儲(chǔ)的可用性及用戶技術(shù)服務(wù)平臺(tái)的開發(fā)有著重大意義。
關(guān)鍵詞:云計(jì)算;海量數(shù)據(jù);服務(wù)質(zhì)量;服務(wù)平臺(tái)
基于微軟云計(jì)算技術(shù)服務(wù)平臺(tái)(Windows Azure ServicesPlatform)進(jìn)行二次開發(fā),對(duì)非云端程序與云端程序連接技術(shù)進(jìn)行研究,根據(jù)用戶需求在云計(jì)算平臺(tái)上開發(fā)、部署集群、設(shè)計(jì)一個(gè)通用的多樣化的軟件系統(tǒng)平臺(tái)。技術(shù)的不斷進(jìn)步必將推動(dòng)存儲(chǔ)向更高容量發(fā)展,而重復(fù)數(shù)據(jù)刪除、壓縮等技術(shù)的引入,可以進(jìn)一步提升存儲(chǔ)空間的利用率。面對(duì)PB級(jí)的海量存儲(chǔ)需求。傳統(tǒng)的SAN或NAS在容量和性能的擴(kuò)展上會(huì)存在瓶頸,云計(jì)算這種新型的服務(wù)模式必然要求存儲(chǔ)架構(gòu)保持極低的成本。而現(xiàn)有的一些高端存儲(chǔ)設(shè)備顯然還不能滿足這種需求。
1 云存儲(chǔ)概述
1.1 云存儲(chǔ)的概念
它是指通過集群應(yīng)用、網(wǎng)格技術(shù)或分布式文件系統(tǒng)等功能,將網(wǎng)絡(luò)中大量各種不同類型的存儲(chǔ)設(shè)備通過應(yīng)用軟件集合起來協(xié)同工作,共同對(duì)外提供數(shù)據(jù)存儲(chǔ)和業(yè)務(wù)訪問功能的一個(gè)系統(tǒng)。嚴(yán)格來講,云存儲(chǔ)不是存儲(chǔ),而是一種服務(wù)。云存儲(chǔ)的核心是應(yīng)用軟件與存儲(chǔ)設(shè)備相結(jié)合,通過應(yīng)用軟件來實(shí)現(xiàn)存儲(chǔ)設(shè)備向存儲(chǔ)服務(wù)的轉(zhuǎn)變。
1.2 云計(jì)算和云存儲(chǔ)的關(guān)系
云計(jì)算是分布式處理(Distributed Computing)、并行處理(Parallel Computing)和網(wǎng)格計(jì)算(Grid Computing)的發(fā)展,是透過網(wǎng)絡(luò)將龐大的計(jì)算處理程序自動(dòng)分拆成無數(shù)個(gè)較小的子程序,再交由多臺(tái)服務(wù)器所組成的龐大系統(tǒng)經(jīng)計(jì)算分析之后將處理結(jié)果回傳給用戶。
2 云存儲(chǔ)系統(tǒng)分析
與傳統(tǒng)的存儲(chǔ)設(shè)備相比,云存儲(chǔ)不僅僅是一個(gè)硬件,而是一個(gè)網(wǎng)絡(luò)設(shè)備、存儲(chǔ)設(shè)備、服務(wù)器、應(yīng)用軟件、公用訪問接口、接入網(wǎng)、和客戶端程序等多個(gè)部分組成的復(fù)雜系統(tǒng)。各部分以存儲(chǔ)設(shè)備為核心,通過應(yīng)用軟件來對(duì)外提供數(shù)據(jù)存儲(chǔ)和業(yè)務(wù)訪問服務(wù)。云存儲(chǔ)系統(tǒng)的結(jié)構(gòu)模型由4層組成。
2.1 存儲(chǔ)層
存儲(chǔ)層是云存儲(chǔ)最基礎(chǔ)的部分。存儲(chǔ)設(shè)備可以是光纖通道存儲(chǔ)設(shè)備,也可以是其他的存儲(chǔ)設(shè)備。云存儲(chǔ)中的存儲(chǔ)設(shè)備往往數(shù)量龐大且分布多不同地域。彼此之間通過廣域網(wǎng)、互聯(lián)網(wǎng)或者光纖通道網(wǎng)絡(luò)連接在一起。存儲(chǔ)設(shè)備之上是一個(gè)統(tǒng)一存儲(chǔ)設(shè)備管理系統(tǒng),可以實(shí)現(xiàn)存儲(chǔ)設(shè)備的邏輯虛擬化管理、多鏈路冗余管理,以及硬件設(shè)備的狀態(tài)監(jiān)控和故障維護(hù)。
2.2 基礎(chǔ)管理層
基礎(chǔ)管理層是云存儲(chǔ)最核心的部分,也是云存儲(chǔ)中最難以實(shí)現(xiàn)的部分基礎(chǔ)管理層通過集群、分布式文件系統(tǒng)和網(wǎng)格計(jì)算等技術(shù),實(shí)現(xiàn)云存儲(chǔ)中多個(gè)存儲(chǔ)設(shè)備之間的協(xié)同工作,使多個(gè)的存儲(chǔ)設(shè)備可以對(duì)外提供同一種服務(wù),并提供更大更強(qiáng)更好的數(shù)據(jù)訪問性能。CDN內(nèi)容分發(fā)系統(tǒng)、數(shù)據(jù)加密技術(shù)保證云存儲(chǔ)中的數(shù)據(jù)不會(huì)被未授權(quán)的用戶所訪問,同時(shí),通過各種數(shù)據(jù)備份和容災(zāi)技術(shù)和措施可以保證云存儲(chǔ)中的數(shù)據(jù)不會(huì)丟失,保證云存儲(chǔ)自身的安全和穩(wěn)定。
2.3 應(yīng)用接口層
應(yīng)用接口層是云存儲(chǔ)最靈活多變的部分。不同的云存儲(chǔ)運(yùn)營(yíng)單位可以根據(jù)實(shí)際業(yè)務(wù)類型,開發(fā)不同的應(yīng)用服務(wù)接口,提供不同的應(yīng)用服務(wù)。比如視頻監(jiān)控應(yīng)用平臺(tái)、網(wǎng)絡(luò)硬盤引用平臺(tái),遠(yuǎn)程數(shù)據(jù)備份應(yīng)用平臺(tái)等。
2.4 訪問層
任何一個(gè)授權(quán)用戶都可以通過標(biāo)準(zhǔn)的公用應(yīng)用接口來登錄云存儲(chǔ)系統(tǒng),享受云存儲(chǔ)服務(wù)。云存儲(chǔ)運(yùn)營(yíng)單位不同,云存儲(chǔ)提供的訪問類型和訪問手段也不同。
3 云存儲(chǔ)應(yīng)用
云存儲(chǔ)從結(jié)構(gòu)模型可以看出,云存儲(chǔ)能提供什么樣的服務(wù)取決于云存儲(chǔ)架構(gòu)的應(yīng)用接口層中內(nèi)嵌了什么類型的應(yīng)用軟件和服務(wù)。不同類型的云存儲(chǔ)運(yùn)營(yíng)商對(duì)外提供的服務(wù)也不同。根據(jù)服務(wù)類型和面向的用戶不同,云存儲(chǔ)服務(wù)可以分為個(gè)人級(jí)應(yīng)用和企業(yè)級(jí)應(yīng)用。
3.1 個(gè)人級(jí)云存儲(chǔ)應(yīng)用
3.1.1 網(wǎng)絡(luò)磁盤
網(wǎng)絡(luò)磁盤是一種在線存儲(chǔ)服務(wù),使用者可通過web訪問方式來上傳和下載文件,實(shí)現(xiàn)個(gè)人重要數(shù)據(jù)的網(wǎng)絡(luò)化存儲(chǔ)和備份。高級(jí)的網(wǎng)絡(luò)磁盤可以提供web頁(yè)面和客戶端軟件等兩種訪問方式。網(wǎng)絡(luò)磁盤的容量空間一般取決于服務(wù)商的服務(wù)策略,或取決于使用者向服務(wù)商支付的費(fèi)用多少。
3.1.2 在線文檔編輯
在線文檔編輯將使我們不再需要在個(gè)人PC上安裝office等軟件,只需要打開Coogle does網(wǎng)頁(yè),通過Google does就可以進(jìn)行文檔編輯和修改(使用云計(jì)算系統(tǒng)),并將編輯完成的文檔保存在Coogle does服務(wù)所提供的個(gè)人存儲(chǔ)空間中(使用云存儲(chǔ)系統(tǒng))。無論我們走到哪兒,都可以再次登錄Coogle does,打開保存在云存儲(chǔ)系統(tǒng)中的文檔。通過云存儲(chǔ)系統(tǒng)的權(quán)限管理功能,還能輕松實(shí)現(xiàn)文檔的共享、傳送以及版權(quán)管理。
3.1.3 在線的網(wǎng)絡(luò)游戲
我們可以通過云計(jì)算和云存儲(chǔ)系統(tǒng)來構(gòu)建一個(gè)龐大的、超能的游戲服務(wù)器群,這個(gè)服務(wù)器群系統(tǒng)對(duì)于游戲玩家來講,就如同是一臺(tái)服務(wù)器,所有玩家在一起進(jìn)行競(jìng)爭(zhēng)。云計(jì)算和云存儲(chǔ)的應(yīng)用,可以代替現(xiàn)有的多服務(wù)器架構(gòu),使所有玩家都能集中在一個(gè)游戲服務(wù)器組的管理之下。同時(shí),云計(jì)算和云存儲(chǔ)系統(tǒng)的使用可在最大限度上提升游戲服務(wù)器的性能,實(shí)現(xiàn)更多的功能。
3.2 企業(yè)級(jí)云存儲(chǔ)應(yīng)用
從目前不同行業(yè)的存儲(chǔ)應(yīng)用現(xiàn)狀來看,以下幾類系統(tǒng)將有可能很快進(jìn)入云存儲(chǔ)時(shí)代。
3.2.1 企業(yè)空間租賃服務(wù)
信息化的不斷發(fā)展使得企業(yè)的信息數(shù)據(jù)量呈幾何級(jí)數(shù)增長(zhǎng)。通過高性能、大容量云存儲(chǔ)系統(tǒng)。數(shù)據(jù)業(yè)務(wù)運(yùn)營(yíng)商和idc數(shù)據(jù)中心可以為無法單獨(dú)購(gòu)買大容量存儲(chǔ)設(shè)備的企事業(yè)單位提供方便快捷的空間租賃服務(wù),滿足企事業(yè)單位不斷增加的業(yè)務(wù)數(shù)據(jù)存儲(chǔ)需求。
3.2.2 企業(yè)級(jí)遠(yuǎn)程數(shù)據(jù)備份和容災(zāi)
通過高性能、大容量云存儲(chǔ)系統(tǒng)和遠(yuǎn)程數(shù)據(jù)備份軟件,數(shù)據(jù)業(yè)務(wù)運(yùn)營(yíng)商和數(shù)據(jù)中心可以為所有需要遠(yuǎn)程數(shù)據(jù)備份和容災(zāi)的企事業(yè)單位提供空間租賃和備份業(yè)務(wù)租賃服務(wù)。普通的企事業(yè)單位、中小企業(yè)可租用數(shù)據(jù)中心提供的空間服務(wù)和遠(yuǎn)程數(shù)據(jù)備份服務(wù)功能,建立自己的遠(yuǎn)程備份和容災(zāi)系統(tǒng),以保證當(dāng)本地發(fā)生重大的災(zāi)難時(shí),可通過遠(yuǎn)程備份或遠(yuǎn)程容災(zāi)系統(tǒng)進(jìn)行快速恢復(fù)。
3.2.3 視頻監(jiān)控系統(tǒng)
建立一個(gè)遍布全國(guó)的云存儲(chǔ)系統(tǒng),在這個(gè)云存儲(chǔ)系統(tǒng)中可以內(nèi)嵌視頻監(jiān)控平臺(tái)管理軟件,建設(shè)“全球眼”或“寬視界”系統(tǒng)。系統(tǒng)的建設(shè)者只需要安裝攝像頭和編碼器等前端設(shè)備,并為每一個(gè)編碼器、IP攝像頭分配一個(gè)帶寬足夠的接入網(wǎng)鏈路,通過接入網(wǎng)與云存儲(chǔ)系統(tǒng)連接,實(shí)時(shí)的視頻圖像就可以很方便地保存到云存儲(chǔ)中,并通過視頻監(jiān)控平臺(tái)管理軟件實(shí)現(xiàn)圖像的管理和調(diào)用。
4 基于微軟云計(jì)算技術(shù)服務(wù)平臺(tái)系統(tǒng)
基于云計(jì)算技術(shù),架設(shè)在Windows Azure(云服務(wù)的操作系統(tǒng))之上,基于Microsoft Visual Studio 2010軟件開發(fā)環(huán)境,通過使用Azure提供云存儲(chǔ)功能和SQL Azure(云關(guān)系型數(shù)據(jù)庫(kù)),調(diào)用Windows Azure SDK(云計(jì)算服務(wù)Azure相關(guān)開發(fā)工具包)開發(fā)工具和云端服務(wù)接口,創(chuàng)建、構(gòu)造基于WindowsAzure的集群技術(shù),開發(fā)一個(gè)云應(yīng)用系統(tǒng)。系統(tǒng)運(yùn)用分層架構(gòu)思想,采用B/S三層體系結(jié)構(gòu)模式(數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層和表示層),不僅有B/S體系結(jié)構(gòu)“瘦客戶”端優(yōu)點(diǎn),更能體現(xiàn)“云”時(shí)代無需考慮初始化基礎(chǔ)設(shè)施,自動(dòng)完成后繼擴(kuò)展性的特點(diǎn)。
基于微軟云計(jì)算技術(shù)服務(wù)平臺(tái)系統(tǒng)將軟件作為服務(wù)SaaS,是云計(jì)算服務(wù)類型中應(yīng)用最為廣泛的一種,即將軟件功能封裝成服務(wù)形式通過互聯(lián)網(wǎng),提供給用戶按需使用,在這個(gè)過程中良好的用戶界面對(duì)于用戶的體驗(yàn)程度起著至關(guān)重要的作用,采用在線管理功能為云計(jì)算平臺(tái)上運(yùn)行的應(yīng)用軟件提供良好的前處理與后處理,以及作業(yè)管理。平臺(tái)體系結(jié)構(gòu)運(yùn)用分層架構(gòu)思想,類似于常用的B/S三層體系結(jié)構(gòu)模式,基本分為:數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層和表示層,體系結(jié)構(gòu)圖如下所示。
4.1 數(shù)據(jù)訪問層
使用REST編程接口(HTTP/HTTPS方式)訪問WindowsAzure Storage,創(chuàng)建Blob和Table存儲(chǔ)用來存放作業(yè)數(shù)據(jù)文件和作業(yè)運(yùn)行結(jié)果。
4.2 邏輯業(yè)務(wù)層
業(yè)務(wù)邏輯層是聯(lián)系數(shù)據(jù)訪問層和表示層的紐帶,幫助建立與云數(shù)據(jù)庫(kù)連接,根據(jù)用戶請(qǐng)求生成檢索語句或更新數(shù)據(jù)庫(kù),并使返回結(jié)果在表示層顯示出來。本平臺(tái)對(duì)所需要處理的用戶管理、權(quán)限管理、日志管理等操作分別建立相關(guān)業(yè)務(wù)邏輯類,即完成了所需功能,又減少了各層之間的耦合度,增強(qiáng)了系統(tǒng)的安全性能。
作業(yè)調(diào)度對(duì)虛擬集群進(jìn)行管理和監(jiān)控,動(dòng)態(tài)添加新的計(jì)算資源,彈性構(gòu)建虛擬集群,實(shí)現(xiàn)用戶的按需計(jì)算。主要包括3個(gè)模塊:用戶作業(yè)提交模塊、虛擬集群彈性構(gòu)建模塊、虛擬集群信息監(jiān)控模塊。
1)作業(yè)提交模塊
用戶通過作業(yè)提交頁(yè)面可以將任務(wù)遞交到虛擬集群里進(jìn)行運(yùn)算,待作業(yè)運(yùn)行完成獲取運(yùn)算的結(jié)果。作業(yè)提交模塊流程圖如圖2所示。
2)虛擬計(jì)算彈性構(gòu)建模塊
當(dāng)虛擬集群的計(jì)算資源不能滿足用戶申請(qǐng)所需的計(jì)算資源時(shí),中間件平臺(tái)就動(dòng)態(tài)的虛擬出所需的虛擬機(jī)計(jì)算資源并動(dòng)態(tài)添加到虛擬集群中以滿足用戶的需求。彈性構(gòu)建虛擬集群流程圖如圖3所示。
3)虛擬集群信息監(jiān)控模塊
主要完成對(duì)虛擬集群各虛擬計(jì)算節(jié)點(diǎn)信息的監(jiān)控,當(dāng)作業(yè)成功提交并運(yùn)行,監(jiān)控模塊采用Web頁(yè)面的方式動(dòng)態(tài)的顯示各虛擬節(jié)點(diǎn)的運(yùn)行狀態(tài)。
4.3 表示層
表示層是程序架構(gòu)最頂層,用戶請(qǐng)求及信息獲取都是通過該層獲取,這里主要通過ASP.NET實(shí)現(xiàn),ASPX頁(yè)面實(shí)現(xiàn)HTML和程序代碼的分離,把豐富的功能展現(xiàn)給用戶,同時(shí)也使開發(fā)維護(hù)更簡(jiǎn)單安全。
5 結(jié)束語
云存儲(chǔ)不是存儲(chǔ),而是服務(wù)。就如同云狀的廣域網(wǎng)和互聯(lián)網(wǎng)一樣。云存儲(chǔ)對(duì)使用者來講,不是指某一個(gè)具體的設(shè)備,而是指一個(gè)由許許多多個(gè)存儲(chǔ)設(shè)備和服務(wù)器所構(gòu)成的集合體。開發(fā)、部署一個(gè)高性能集群系統(tǒng)平臺(tái),利用云計(jì)算建立容錯(cuò)機(jī)制,保證若干節(jié)點(diǎn)失效時(shí)并不影響整個(gè)計(jì)算任務(wù)的進(jìn)展。
評(píng)論