陳志毅 王萬金
(91550 部隊 遼寧省大連市 116023)
隨著現代化信息時代的到來,大數據和云計算已經成為目前各行各業研究的熱點,其相關的應用產品和服務逐漸走進人們的生活。云計算關注的主要是計算資源的虛擬化和并行化處理。云計算系統運算和處理的核心是大量數據的存儲和管理時,這樣的云計算系統就轉變成了一個云存儲系統。所以云存儲是在云計算的架構下,更加關注數據存儲和管理的系統。
目前,數據的安全存儲和資源的跨平臺調用顯得日益重要,由于信息化建設發展的不同階段開發的信息系統之間兼容性不強;有些場合仍需通過數據拷貝等方式共享數據,自主研發的算法、工具等只能在部門內部使用;易造成信息孤島,使不同部門之間數據和資源的很難實現共享。
SOA 在本質上是一種整合分布式系統的軟件組件模型,其最主要的思想是將應用軟件中完成不同功能的單元以“服務”的形式進行獨立封裝,服務與服務之間通過接口和契約機制實現通信,與服務實現環境和程序開發語言無關[1]。目前SOA 已經逐漸成為主流的軟件架構方案,特別是在基于Web 的新系統的開發和原有信息系統資源整合方面有著很多優勢。因此,SOA 架構非常適合用來組建新的應用平臺,整合已有資源和服務,構建一種分布式的資源共享模式,通過分級授權可以使不同用戶獲得滿足業務需求的數據和資源。
云存儲主要通過虛擬化、集群、網絡技術、分布式、壓縮技術、容災技術等功能,將不同類型的存儲設備通過軟件系統組合后協同工作,實現數據有序存儲及訪問[2]。云存儲大體分為公有云、私有云和混合云三種。
公有云存儲是一種將存儲服務商業化的行為,用戶數據通常存放在由第三方托管的多臺虛擬服務器,而非存儲在專有的服務器上。租用虛擬云存儲的用戶無法了解云端存儲的具體位置和用戶數據在云端是否安全,是否隱私。而一般私有云存儲的硬件設備、資源池及軟件都部署在局域網中,僅供局域網內用戶訪問。這種基礎設施可能由用戶內部部署和管理,建設成本高,需要購買授權及支付系統維護費用,或交由云服務商托管。
2.2.1 安全性好
與公有云相比,私有云使用的是相同的云計算技術,但由于部署在內部數據中心的防火墻內或者安全的主機托管場所,私有云的核心屬性是專有資源,用戶可掌握和控制計算、存儲等所有資源,安全系數較高、數據私密性好、自主可控性好。
2.2.2 存儲效率高

圖1:SOA 的服務模型

圖2:基于SOA 的私有云系統整體架構
云存儲管理下所有的存儲資源被整合到一起,避免了存儲空間的浪費,易實現自動化和智能化,通過虛擬化技術、負載均衡、故障冗余等技術,提高了存儲空間的利用率,避免資源浪費。
2.2.3 可擴展性強
云計算服務系統具有很強的兼容性、高靈活性、高性價比和高可擴展性,通過規模效應來降低運營成本。同時通過建設共享數據庫信息資源,容易實現部門系統間的數據資源交換,擴大信息資源共享的范圍,使獲得授權的人員在任何時間和地點可以利用終端來使用云計算提供的服務和資源[3,4],打破了“信息孤島”的僵局。
SOA(Service-Oriented Architecture)是基于服務驅動的IT 架構方式,能夠整合各類應用,使其變成一種可重用、可動態重組的服務。作為一種開放式的軟件體系架構,使用服務接口的方式將應用的功能提供給其他外部應用使用。在 SOA 模型中,服務之間是相互獨立、模塊化的。服務之間采用交互、協調方式完成業務邏輯。全部服務采用服務總線等來對接和管理。服務提供者的地址信息被記錄在服務注冊中心,使用者使用這些服務來完成自己的功能。多個服務還可以通過松耦合的集成方式進行上層業務的組裝。該松耦合方式的架構使各種服務在交互中不必考慮雙方內部的實現細節和部署在什么平臺上[5]。
SOA 架構繼承了程序設計中對象和構件的各種原則,例如,封裝、自我包含等。但對 SOA 架構來說是更重要的是松耦合、復用性等用來保證服務的靈活性的設計原則。關于服務,一些常見的設計原則如下:
3.2.1 明確的接口定義
服務消費者調用服務時必須依托服務規則。因此,服務的定義必須保持較長時間的穩定,不能做經常更改;另外服務的定義還應當明確,以避免造成請求者的不當使用。
3.2.2 獨立封裝和模塊化
服務對一些重復出現的且在業務功能上穩定的活動和構件進行了封裝,實現服務的實體是完全獨立部署的,且有獨立的版本控制,自我管理和恢復功能。
3.2.3 松耦合
只有服務的接口對服務消費者是可見的,而接口的位置以及實現技術,接口當前狀態和內部的私有數據等,對服務消費者是不可見的;不能讓服務消費者看到。
3.2.4 互操作性
語義互操作性是SOA 架構的一個重要特性,服務的使用者和提供者進行信息交換,并依照這些有意義的信息進行操作,沒有語義的互操作性,會給整個架構和業務帶來負面影響。同時為了保證服務規則的全面、明確,策略的選擇也是非常重要的。如安全性方面的要求、費用方面的要求、服務級別方面的要求等。
SOA 為了更好的借助現有的應用產生新的服務,在現有的系統或者新系統上創建新的應用,并在構建業務流程時提供更好的靈活性,需要建立各種標準以滿足復用性。為了支持SOA 架構其各種特性,不斷推出了相關的技術規范,主要有 UDDI、WSDL、SOAP 和 REST 等,而這些技術都是以 XML 為基礎發展起來的。
SOA 是一種概念或思想,需要借助具體的技術方法來實現。從本質上來看, SOA 是利用本地計算模型來實現一個分布式的計算應用。從邏輯上和高層抽象來看,實現 SOA 的方法也比較多,其中主流的有 Web Service、服務總線和服務注冊表等方式。
基于SOA 的云存儲框架模型下的服務與傳統SOA 架構下的服務一樣,SOA 由服務提供者、服務消費者和服務注冊中心這三類實體組成。實體分別以不同角度對服務進行了說明,主要包括服務的提供規則、服務的使用規則、服務的發現規則?;赟OA 的云框架模型中,三類服務角色的關系如圖1 所示?;赟OA 的私有云存儲系統整體架構如圖2 所示。
3.4.1 物理層
物理層是云存儲最基礎的部分。SOA 服務物理層基于物理資源和虛擬化資源提供安全、可靠、高效的網絡基礎環境和服務器運行的環境。主要包括網絡通信設備、服務器及操作系統、存儲設備等。存儲設備可以是FC 光纖通道存儲設備,可以是NAS 和 iSCSI等IP 存儲設備,也可以是 SCSI 或SAS 等 DAS 存儲設備。云存儲中的存儲設備往往數量龐大且分布于不同的地域。彼此之間通過以太網絡或者FC 光纖通道網絡連接在一起。利用虛擬技術將物理資源映射為虛擬化的計算資源、網絡資源以及文件存儲等資源。
3.4.2 管理層
管理層是云存儲的核心部分,SOA 服務管理層用于支撐整個平臺的業務應用、業務協同、安全、監控和管理、調度基礎設施層的資源,主要包括任務分配、數據加密、備份管理、權限管理、業務流程管理、訪問控制管理等組件。
管理層通過采用資源調度、數據監控、數據加密、訪問控制等技術保證云存儲中的數據不會被未授權的用戶所訪問,同時,通過各種數據備份和容災技術等措施可以保證云存儲中的數據不會丟失,從而保證云存儲自身的安全和穩定。
3.4.3 應用層
SOA 服務應用層主要提供部門辦公和發布信息等所需要的軟件服務,如綜合查詢、辦公系統、管理系統等,另外,在后續的運營過程中會針對需求和策略不斷接入大量的SaaS 服務。
3.4.4 接口層
云存儲可以通過應用軟件來實現存儲設備向存儲服務的轉變。使用者使用云存儲時,并不是使用了某處的某一個存儲設備,而是使用整個云存儲系統帶來的一種數據訪問服務。因此云存儲本質上更像是一種服務。SOA 服務接口層主要提供服務注冊、查找、綁定和調用接口,并為用戶提供認證和權限控制。
根據IDC 調研結果顯示,未來兩年全球將有超過七成的企業選擇多云部署模式,考慮到數據私密性好和彈性可擴展的需求,私有云存儲作為一種方便快捷的文件備份方式,將云存儲的服務端部署在局域網絡中,通過SOA 服務將已有各業務信息系統的整合,建立統一的綜合信息平臺,提供統一的系統應用環境。云存儲為用戶提供了統一的共享應用平臺、基礎設施環境以及各種軟件服務等,可有效解決之前各部門間存在的“信息孤島”、重復建設、資源浪費、維護成本高等一系列問題。很多在公有云存儲服務端無法實現的功能,都可以在私有云環境下得到良好的解決。但私有云并不是絕對安全的,要想保證私有云的安全,需要制定完善的計劃并做經常性維護,才能避免出現安全漏洞問題。