张书锋 刘正
摘要:在该文中,针对 SaaS软件需要虽然在问题发生之前经历严格的测试,但是由于很难预测未来所有可能的网络用户对SaaS系统的服务条件,同时也很难对复杂的SaaS软件进行彻底的测试。因此需要一种测试方法可以实现在项目开始时对SaaS系统的设计进行不间断的测试和确认,从而避免发现潜在问题的错误,何时构建SaaS系统需要关键考虑的问题。鉴于此,笔者采用MVC设计模式,对SaaS云计算数据中心的构建和鲁棒性测试进行了研究,提出了有效的新测试范例。
关键词:鲁棒性试验;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 背景
关于云计算技术信息资源的开发,主要体现在大规模共享计算的优越性,融合其服务理念,改变计算机传统的信息资源收集模式,通过大量信息的处理,发掘其潜在关系,增强信息的使用价值。云计算共享数据中心在传统的服务器、存储设备、网络交换机设备、计算机负载均衡设备、网络安全设备等基本硬件的基础上,通过计算存储虚的拟化资源,结合网络控制,均衡负载,安全保护和认证访问等组件,建立由共享数据中心组成的业务系统。数据中心操作的一般分为以下几个阶段。
1) 数据存储中心阶段。数据中心在20世纪60年代出现,其主要以计算机主机为计算核心,计算机主机就是数据中心,例如IBM360系列电脑的主要业务是集中存储和管理数据。
2) 数据处理中心阶段。 进入20世纪70年代,计算机发展迅速,随着计算需求的增加,计算机的大量普以及广域网和局域网计算机价格不断上升,数据中心开始承担起核心计算任务。
3) 云数据中心阶段。 进入21世纪,数据中心的规模进一步扩大,以及快速增长的一般服务器数量,结合成熟虚拟化技术的应用和快速发展的云计算技术等,使数据中心的发展进入了一个新的阶段。 数据中心主要承载核心的基本操作、信息资源的服务、核心运算、数据存储、备份能力等。
在云计算模式下,信息资源服务不仅变得更加方便、更加智能外,而且云数据中心通过对数据进行组织、挖掘,通过对用户需要零碎的信息的提炼、分析,设计为用户开发提供个性化服务。 然后通过数据挖掘、搜索引擎、自动扫描、关键词等相关资源,通过归纳重组,实现通过海量信息资源筛选,提炼出满足客户需求的信息产品,为ADSS相关用户提供及时有效的预测信息。图1为SaaS云计算数据中心架构。
隨着数据中心的发展和云计算技术的演进,虚拟化技术的成熟应用,数据中心的发展主要和计算机技术、计算机网络技术、云计算技术等密切相关。而云计算技术和网络虚拟化技术伴随着计算机技术的发展而发展,逐渐使得网络技术、数据中心也实现了不同级别的虚拟化。 在后面的章节中,我们将详细讨论这些问题。
2 SaaS和云计算
2.1 SaaS
SaaS是21世纪崛起的一个完全创新的软件应用。应用软件部署在基本厂商的服务器上,用户可以通过互联网软件服务订购自己的需求。 SaaS作为应用级服务,具有投资低,重用性好,大用户的特点。因此,其安全预防措施应更加严格,不仅应考虑在基本的常规安全措施,访问控制,安全审计日志等认证技术,还应注意用户重视过程中的行为过程。并充分统一以保证上述技术的服务安全性与一般用户的行为。
UDCI持久层是服务信息的数据中心,主要包括:核心支付机制服务的配置,服务WSDL的文件,服务本地集成的文件,服务质量的信息等。传统的数据结构和编程模式往往要么不能满足配置需要,要么在网络中产生大量的数据而影响响应速度,因此,采用HDFS分布式文件系统和基于HBase的分布式数据库来解决这个问题。图2显示了架构,然后我们可以总结系统模型如下。
SOA是一种架构模式,是企业IT架构方法的设计,一般的云计算是一种部署架构,使企业能够通过Internet访问第三方服务。
SOA强调使用服务构建进行系统设计,注重如何处理服务,非常注重可重用性,敏捷性和松懈贡献。但云计算强调使用提供和服务的服务,注重如何提供服务,更加注重虚拟化,按需动态扩展和资源的服务扩展性和整体高可用性。
SOA适合业务需求频繁变化的情况。当IT设施的业务需求改变或无法预先预测时,您可以考虑使用云计算。另外,当大量批量计算也可以考虑使用云计算。
2.2 云计算
在云计算下,用户群是巨大的,在用户提交工作之后,可能需要由于个人考虑而取消责任,因为这种情况下宏大的职责基数巨大而频繁出现,计算到职责将导致在云资源中不必要的浪费,特别是在云中的企业和机构中,资源本身相当稀缺,需要提出适应用户负载动态变化的调度策略,避免资源浪费。
面向属性诱导的一般思想是首先使用数据库查询收集与身份信息相关的初始数据,然后通过检查与身份信息描述相关的初始数据集中的每个属性的不同值进行推广。具体元素与公共元素完全一致,但包含一些额外的信息是允许使用公共元素的情况使用具体元素的例子,因此关于分配大量的“属性值到”数据,可以使用简洁的形式一般抽象层描述数据。属性删除和属性泛化是属性导向泛化的两种方法。
通过计算属性 - 值对中的每个属性的信息增益,可以获得每个属性的等级信息,并且还设置用于识别弱相关性的属性相关宽度值。具有最高信息的属性明显增加了与给定集合中的身份信息描述具有高相关性的属性,以及其信息增益小于与属性相关的阈值的属性被认为与身份信息描述弱相关,因此排除。
3 建议的方法
3.1 MVC设计模式
MVC适用于一些大型的、可扩展Web应用系统的开发,将应用系统的输入、处理和输出分成三个核心部分:模型(modal),视图(view)和控制器(control),以便他们可以执行其任务和完成不同的任务,任何部分更改不会影响其他两个部分。
MVC处理过程是:用户输入的请求,首先被控制器接收,并且有控制器调用模型处理,然后模型层通过业务处理逻辑处理控制器传来的数据请求,返回处理结果给控制器,最后控制器根据模型层返回结果跳转到相应的视图,通过视图呈现给用户请求结果。有一种开发模式被称为软件组件式开发,它具有一定的集成度,可以重复使用。软件重用可以一般表示为:构建新的软件系统不必每次从头开始,直接使用现有的组件,我们可以组装或修改形成一个新的合理的系统。可重复使用的合理化和简化的软件开发过程降低了总体开发工作量和维护成本,既降低了软件的成本,又提高了生产率,另一方面,由于成员被反复使用和验证,它们具有高质量。因此,由系统组成的新系统也具有较高的质量。 JSF和Web开发的Hibernate应用系统的集成主要集中在J2EE的中间层的开发,通过JSF和MVC实现了Hibernate模型和数据持久化的三个组件的创建。其中,MVC模型组件是由Hibernate从数据库映射的类,它们表示应用程序中的操作对象。其余的可以定义为JavaBean,用于传递视图组件和控件组件中的基本数据。
3.2 新型软件测试范式
软件测试被发现并指出,软件(包含大量输出工件和编码建模,需求,设计和其他阶段产生的过程之后的软件)现有缺陷的过程,这个过程指示正确的位置和标签问题,详细的记录导致问题呈现的操作顺序,之后是内存,然后错误状态帮助测试,该问题可以准确地再现,并跟踪软件开发者对软件缺陷修复的进展。
测试步骤可以列举如下。1)测试的正确性和准确性:软件运行结果不正确和不准确,会给用户带来麻烦,有些可能带来无法估量的损失,因此它是保证软件质量最重要的因素。2)容错测试:容差测试是在检查软件运行在异常条件下,能否自我保护和自我恢复。容错测试可以用来确保系统不发生一些意外事故,提高软件运行时的数据安全性及可靠性。3)性能和效率测试:每个用户都希望软件运行速度更快,占用资源更少。性能和效率测试主要是通过优化软件的数据结构、算法以及代码组织方式,来提高软件性能和效率。4)易用性测试:是用来测试软件的易用性,就像一个常用的扳手工具,只需要了解一下如何使用就可以了。因此可用性测试没有定量指标,主观性性较强。人们通常认为,用户不需要查看用户手册就能使用的软件,易用性就是好的。5)文件测试:主要用来检查文件数据的正确性、数据的完整性和易理解性。
上一节只描述了框架的基本结构,必须进行测试测量,也需要软件的分析软件,测试特性和影响因素,同时获得框架的增强,同时验证测试特性与影响因素之间的关系,具体扩展方法如下。
软件可测试性是與软件测试相关的测试特性的一般集合。可以对测试过程进行分析,以获得一些核心测试特性,如理解,可控性,可观察性,核心测试支持能力,简单性,适用性,可追溯性等。
可测试性特性可以通过性能和影响因素的形式进行测试,以建立可能的因素集合的测试特性与集合的进一步分析之间的关系,排除那些具有测试相关属性的元素与元素无关,其余为测试特征的影响因素。
4 结束语
在本文中,我们基于MVC设计模式对SaaS云计算数据中心的构建和鲁棒性测试进行研究。开放SaaS平台是基于独立服务提供商和平台开发的Web服务,多样性已成为SaaS平台的命脉,如何消除SaaS平台在多样化中的Web服务差异,增强SaaS平台集成、多功能性以及Web服务的可配置性是SaaS平台架构的关键。 SaaS软件需要在问题发生之前经历严格的测试。对于所有这一切,由于很难预测未来所有可能的网络用户对SaaS系统的服务条件,因此也很难对复杂的SaaS软件进行彻底的测试。什么测试方法可以实现在项目开始时对SaaS系统的设计进行不间断的测试和确认,从而避免发现潜在问题的错误,何时构建SaaS系统需要关键考虑的问题。在此基础上,本文提出了关于测试范例的新想法,这将提高系统的后期性能。
参考文献:
[1] 周双权, 廖英杰, 胡龙超, 等. 基于MVC框架下的生产用电统计分析系统的设计与实现[J]. 电脑知识与技术, 2016, 12(4).
[2] 王晶晶. 基于MVC3架构医院基建管理系统的设计开发和应用[J]. 电子设计工程, 2016, 24(6):118-120.
[3] 罗长亮, 范学宏. 基于MVC3架构的基建进度管理系统设计與实现[J]. 低碳世界, 2014(15).
[4] 王桂玲, 韩燕波, 张仲妹, 等. 基于云计算的流数据集成与服务;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.