張書鋒 劉正
摘要:在該文中,針對 SaaS軟件需要雖然在問題發(fā)生之前經歷嚴格的測試,但是由于很難預測未來所有可能的網(wǎng)絡用戶對SaaS系統(tǒng)的服務條件,同時也很難對復雜的SaaS軟件進行徹底的測試。因此需要一種測試方法可以實現(xiàn)在項目開始時對SaaS系統(tǒng)的設計進行不間斷的測試和確認,從而避免發(fā)現(xiàn)潛在問題的錯誤,何時構建SaaS系統(tǒng)需要關鍵考慮的問題。鑒于此,筆者采用MVC設計模式,對SaaS云計算數(shù)據(jù)中心的構建和魯棒性測試進行了研究,提出了有效的新測試范例。
關鍵詞:魯棒性試驗;SaaS;云計算;MVC
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2017)31-0224-03
Exploration of the Construction and Robustness Testing of SaaS Cloud Computing Data Center Based on the MVC Design Pattern
ZHANG Shu-feng, LIU Zheng
(Suzhou Industrial Park Institute Of Services Outsourcing, Suzhou 215028, China)
Abstract: In this paper, the SaaS software needs to undergo rigorous test although before problems occur, but it is difficult to predict the future of all possible network users to the SaaS system service conditions, it is also very difficult to thoroughly test the complicated SaaS software. We need a kind of test method can be implemented at the beginning of the project design of SaaS system for testing and confirmation of uninterrupted, so as to avoid potential problems when building the key error problem of SaaS system. In view of this, we use the MVC design model to study the construction of SaaS cloud computing data center and robustness testing, and put forward an effective new test paradigm.
Key words: robustness testing; SaaS; cloud computing; MVC
1 背景
關于云計算技術信息資源的開發(fā),主要體現(xiàn)在大規(guī)模共享計算的優(yōu)越性,融合其服務理念,改變計算機傳統(tǒng)的信息資源收集模式,通過大量信息的處理,發(fā)掘其潛在關系,增強信息的使用價值。云計算共享數(shù)據(jù)中心在傳統(tǒng)的服務器、存儲設備、網(wǎng)絡交換機設備、計算機負載均衡設備、網(wǎng)絡安全設備等基本硬件的基礎上,通過計算存儲虛的擬化資源,結合網(wǎng)絡控制,均衡負載,安全保護和認證訪問等組件,建立由共享數(shù)據(jù)中心組成的業(yè)務系統(tǒng)。數(shù)據(jù)中心操作的一般分為以下幾個階段。
1) 數(shù)據(jù)存儲中心階段。數(shù)據(jù)中心在20世紀60年代出現(xiàn),其主要以計算機主機為計算核心,計算機主機就是數(shù)據(jù)中心,例如IBM360系列電腦的主要業(yè)務是集中存儲和管理數(shù)據(jù)。
2) 數(shù)據(jù)處理中心階段。 進入20世紀70年代,計算機發(fā)展迅速,隨著計算需求的增加,計算機的大量普以及廣域網(wǎng)和局域網(wǎng)計算機價格不斷上升,數(shù)據(jù)中心開始承擔起核心計算任務。
3) 云數(shù)據(jù)中心階段。 進入21世紀,數(shù)據(jù)中心的規(guī)模進一步擴大,以及快速增長的一般服務器數(shù)量,結合成熟虛擬化技術的應用和快速發(fā)展的云計算技術等,使數(shù)據(jù)中心的發(fā)展進入了一個新的階段。 數(shù)據(jù)中心主要承載核心的基本操作、信息資源的服務、核心運算、數(shù)據(jù)存儲、備份能力等。
在云計算模式下,信息資源服務不僅變得更加方便、更加智能外,而且云數(shù)據(jù)中心通過對數(shù)據(jù)進行組織、挖掘,通過對用戶需要零碎的信息的提煉、分析,設計為用戶開發(fā)提供個性化服務。 然后通過數(shù)據(jù)挖掘、搜索引擎、自動掃描、關鍵詞等相關資源,通過歸納重組,實現(xiàn)通過海量信息資源篩選,提煉出滿足客戶需求的信息產品,為ADSS相關用戶提供及時有效的預測信息。圖1為SaaS云計算數(shù)據(jù)中心架構。
隨著數(shù)據(jù)中心的發(fā)展和云計算技術的演進,虛擬化技術的成熟應用,數(shù)據(jù)中心的發(fā)展主要和計算機技術、計算機網(wǎng)絡技術、云計算技術等密切相關。而云計算技術和網(wǎng)絡虛擬化技術伴隨著計算機技術的發(fā)展而發(fā)展,逐漸使得網(wǎng)絡技術、數(shù)據(jù)中心也實現(xiàn)了不同級別的虛擬化。 在后面的章節(jié)中,我們將詳細討論這些問題。
2 SaaS和云計算
2.1 SaaS
SaaS是21世紀崛起的一個完全創(chuàng)新的軟件應用。應用軟件部署在基本廠商的服務器上,用戶可以通過互聯(lián)網(wǎng)軟件服務訂購自己的需求。 SaaS作為應用級服務,具有投資低,重用性好,大用戶的特點。因此,其安全預防措施應更加嚴格,不僅應考慮在基本的常規(guī)安全措施,訪問控制,安全審計日志等認證技術,還應注意用戶重視過程中的行為過程。并充分統(tǒng)一以保證上述技術的服務安全性與一般用戶的行為。
UDCI持久層是服務信息的數(shù)據(jù)中心,主要包括:核心支付機制服務的配置,服務WSDL的文件,服務本地集成的文件,服務質量的信息等。傳統(tǒng)的數(shù)據(jù)結構和編程模式往往要么不能滿足配置需要,要么在網(wǎng)絡中產生大量的數(shù)據(jù)而影響響應速度,因此,采用HDFS分布式文件系統(tǒng)和基于HBase的分布式數(shù)據(jù)庫來解決這個問題。圖2顯示了架構,然后我們可以總結系統(tǒng)模型如下。
SOA是一種架構模式,是企業(yè)IT架構方法的設計,一般的云計算是一種部署架構,使企業(yè)能夠通過Internet訪問第三方服務。
SOA強調使用服務構建進行系統(tǒng)設計,注重如何處理服務,非常注重可重用性,敏捷性和松懈貢獻。但云計算強調使用提供和服務的服務,注重如何提供服務,更加注重虛擬化,按需動態(tài)擴展和資源的服務擴展性和整體高可用性。
SOA適合業(yè)務需求頻繁變化的情況。當IT設施的業(yè)務需求改變或無法預先預測時,您可以考慮使用云計算。另外,當大量批量計算也可以考慮使用云計算。
2.2 云計算
在云計算下,用戶群是巨大的,在用戶提交工作之后,可能需要由于個人考慮而取消責任,因為這種情況下宏大的職責基數(shù)巨大而頻繁出現(xiàn),計算到職責將導致在云資源中不必要的浪費,特別是在云中的企業(yè)和機構中,資源本身相當稀缺,需要提出適應用戶負載動態(tài)變化的調度策略,避免資源浪費。
面向屬性誘導的一般思想是首先使用數(shù)據(jù)庫查詢收集與身份信息相關的初始數(shù)據(jù),然后通過檢查與身份信息描述相關的初始數(shù)據(jù)集中的每個屬性的不同值進行推廣。具體元素與公共元素完全一致,但包含一些額外的信息是允許使用公共元素的情況使用具體元素的例子,因此關于分配大量的“屬性值到”數(shù)據(jù),可以使用簡潔的形式一般抽象層描述數(shù)據(jù)。屬性刪除和屬性泛化是屬性導向泛化的兩種方法。
通過計算屬性 - 值對中的每個屬性的信息增益,可以獲得每個屬性的等級信息,并且還設置用于識別弱相關性的屬性相關寬度值。具有最高信息的屬性明顯增加了與給定集合中的身份信息描述具有高相關性的屬性,以及其信息增益小于與屬性相關的閾值的屬性被認為與身份信息描述弱相關,因此排除。
3 建議的方法
3.1 MVC設計模式
MVC適用于一些大型的、可擴展Web應用系統(tǒng)的開發(fā),將應用系統(tǒng)的輸入、處理和輸出分成三個核心部分:模型(modal),視圖(view)和控制器(control),以便他們可以執(zhí)行其任務和完成不同的任務,任何部分更改不會影響其他兩個部分。
MVC處理過程是:用戶輸入的請求,首先被控制器接收,并且有控制器調用模型處理,然后模型層通過業(yè)務處理邏輯處理控制器傳來的數(shù)據(jù)請求,返回處理結果給控制器,最后控制器根據(jù)模型層返回結果跳轉到相應的視圖,通過視圖呈現(xiàn)給用戶請求結果。有一種開發(fā)模式被稱為軟件組件式開發(fā),它具有一定的集成度,可以重復使用。軟件重用可以一般表示為:構建新的軟件系統(tǒng)不必每次從頭開始,直接使用現(xiàn)有的組件,我們可以組裝或修改形成一個新的合理的系統(tǒng)??芍貜褪褂玫暮侠砘秃喕能浖_發(fā)過程降低了總體開發(fā)工作量和維護成本,既降低了軟件的成本,又提高了生產率,另一方面,由于成員被反復使用和驗證,它們具有高質量。因此,由系統(tǒng)組成的新系統(tǒng)也具有較高的質量。 JSF和Web開發(fā)的Hibernate應用系統(tǒng)的集成主要集中在J2EE的中間層的開發(fā),通過JSF和MVC實現(xiàn)了Hibernate模型和數(shù)據(jù)持久化的三個組件的創(chuàng)建。其中,MVC模型組件是由Hibernate從數(shù)據(jù)庫映射的類,它們表示應用程序中的操作對象。其余的可以定義為JavaBean,用于傳遞視圖組件和控件組件中的基本數(shù)據(jù)。
3.2 新型軟件測試范式
軟件測試被發(fā)現(xiàn)并指出,軟件(包含大量輸出工件和編碼建模,需求,設計和其他階段產生的過程之后的軟件)現(xiàn)有缺陷的過程,這個過程指示正確的位置和標簽問題,詳細的記錄導致問題呈現(xiàn)的操作順序,之后是內存,然后錯誤狀態(tài)幫助測試,該問題可以準確地再現(xiàn),并跟蹤軟件開發(fā)者對軟件缺陷修復的進展。
測試步驟可以列舉如下。1)測試的正確性和準確性:軟件運行結果不正確和不準確,會給用戶帶來麻煩,有些可能帶來無法估量的損失,因此它是保證軟件質量最重要的因素。2)容錯測試:容差測試是在檢查軟件運行在異常條件下,能否自我保護和自我恢復。容錯測試可以用來確保系統(tǒng)不發(fā)生一些意外事故,提高軟件運行時的數(shù)據(jù)安全性及可靠性。3)性能和效率測試:每個用戶都希望軟件運行速度更快,占用資源更少。性能和效率測試主要是通過優(yōu)化軟件的數(shù)據(jù)結構、算法以及代碼組織方式,來提高軟件性能和效率。4)易用性測試:是用來測試軟件的易用性,就像一個常用的扳手工具,只需要了解一下如何使用就可以了。因此可用性測試沒有定量指標,主觀性性較強。人們通常認為,用戶不需要查看用戶手冊就能使用的軟件,易用性就是好的。5)文件測試:主要用來檢查文件數(shù)據(jù)的正確性、數(shù)據(jù)的完整性和易理解性。
上一節(jié)只描述了框架的基本結構,必須進行測試測量,也需要軟件的分析軟件,測試特性和影響因素,同時獲得框架的增強,同時驗證測試特性與影響因素之間的關系,具體擴展方法如下。
軟件可測試性是與軟件測試相關的測試特性的一般集合??梢詫y試過程進行分析,以獲得一些核心測試特性,如理解,可控性,可觀察性,核心測試支持能力,簡單性,適用性,可追溯性等。
可測試性特性可以通過性能和影響因素的形式進行測試,以建立可能的因素集合的測試特性與集合的進一步分析之間的關系,排除那些具有測試相關屬性的元素與元素無關,其余為測試特征的影響因素。
4 結束語
在本文中,我們基于MVC設計模式對SaaS云計算數(shù)據(jù)中心的構建和魯棒性測試進行研究。開放SaaS平臺是基于獨立服務提供商和平臺開發(fā)的Web服務,多樣性已成為SaaS平臺的命脈,如何消除SaaS平臺在多樣化中的Web服務差異,增強SaaS平臺集成、多功能性以及Web服務的可配置性是SaaS平臺架構的關鍵。 SaaS軟件需要在問題發(fā)生之前經歷嚴格的測試。對于所有這一切,由于很難預測未來所有可能的網(wǎng)絡用戶對SaaS系統(tǒng)的服務條件,因此也很難對復雜的SaaS軟件進行徹底的測試。什么測試方法可以實現(xiàn)在項目開始時對SaaS系統(tǒng)的設計進行不間斷的測試和確認,從而避免發(fā)現(xiàn)潛在問題的錯誤,何時構建SaaS系統(tǒng)需要關鍵考慮的問題。在此基礎上,本文提出了關于測試范例的新想法,這將提高系統(tǒng)的后期性能。
參考文獻:
[1] 周雙權, 廖英杰, 胡龍超, 等. 基于MVC框架下的生產用電統(tǒng)計分析系統(tǒng)的設計與實現(xiàn)[J]. 電腦知識與技術, 2016, 12(4).
[2] 王晶晶. 基于MVC3架構醫(yī)院基建管理系統(tǒng)的設計開發(fā)和應用[J]. 電子設計工程, 2016, 24(6):118-120.
[3] 羅長亮, 范學宏. 基于MVC3架構的基建進度管理系統(tǒng)設計與實現(xiàn)[J]. 低碳世界, 2014(15).
[4] 王桂玲, 韓燕波, 張仲妹, 等. 基于云計算的流數(shù)據(jù)集成與服務;J]. 計算機學報, 2015(01).
[5] Shan Rui. Design and Implementation of Intelligent Management System of Amusement Park Based on Two-Dimensional Code[J]. Advanced Materials Research, 2014, 945-949(6):3311-3315
[6] Mikkonen Samu.Requirements of the interaction design pattern languages for the web development: A pattern language delivery platform[Z]. 2015.
[7] Zhang X L, Yang Lu. Design and Implementation of Web Office Automation System Based on MVC Pattern[J]. Computer Technology and Development, 2012(22):863-66.
[8] Wu Linlin, Saurabh Kumar Garg, Rajkumar Buyya. SLA-based admission control for a Software-as-a-Service provider in Cloud computing environments[J]. Journal of Computer and System Sciences, 2012, 78(5):1280-1299.
[9] Kavis M J. Architecting the cloud: Design decisions for cloud computing service models (SaaS, PaaS, AND IaaS)[M]. John Wiley & Sons, 2014.
[10] Wu L, Garg S K, Buyya R, et al. Automated SLA negotiation framework for cloud computing[C]. In Cluster, Cloud and Grid Computing (CCGrid), 2013 13th IEEE/ACM International Symposium on, 2013(5):235-244.