论文部分内容阅读
随着云计算的作用愈加重要,用户自然而然地期望云服务也能具有与传统服务实现模型相同的服务可信性,云服务、云设施提供商等也憧憬可信的云服务模式带来更多的利益和更佳的声誉。但是,相比于传统的计算范型,由于云计算带来的诸多新的关键技术及使用方式,可能出现的云服务失效状况也更加多样复杂和难以把握,例如虚拟化软件配置错误、网络中断、虚拟机负载过载等情况,均会影响整个系统的可信性。尽管学术界已提出了在不同场景下增强云服务系统可信性的机制或方法,但该研究领域仍需要坚实的理论、恰当的模型、有效的范例、深入的实验和具体的实现来构建高可信的云系统。针对上述问题,本论文的主要目标是结合具体的云服务应用场景,研究基于QoS感知来提高云服务系统可信性的方式。首先,总结了可信计算和云计算可信性的相关概念;然后,用形式化的方法刻画了云应用模型、特定的云服务的QoS模型和RoS模型,并建立了QoS与RoS的映射机制。在此基础上,具体开展了以下4个方面的工作,分别是:(1)针对用户期望检索到可信云服务的需求,提出了一个扩展的UDDI—CloudUDDI。它除了具备一般的UDDI功能外,还扩展了对云环境中资源的描述和度量。基于多目标决策方法,它能辅助云服务消费者更准确地找到高质量的云服务。实验结果表明CloudUDDI能有效地支持云服务的注册和查找,便于根据用户的QoS需求,查找到最为符合的云服务。(2)健壮的应用程序平台通常具有一定类型的故障检测,报告和恢复机制。结合自治愈机制与AOP技术,提出了一种增强云服务可信性的框架,该框架从云服务的逻辑层面,实现动态配置云服务的可信策略的机制。通过失效注入的方式进行仿真实验,结果表明该框架能有效地降低云服务失效的概率,增强云服务的可信性。(3)对虚拟机资源合理的配置和调度可以有效地应对大量任务请求,其实质也是一种“柔性”的容错机制。并且,在保障用户云服务QoS的同时,能实现底层资源的优化配置,对消费者和云服务提供商而言,是一种良好的折中。在对虚拟机实例的负载状况建模和评估虚拟机群的资源利用率之后,提出了一种任务调度算法和弹性扩展算法,通过算法实现了任务分派和虚拟机群相应的弹性扩展。该方法能在保障云用户QoS的同时,实现底层资源的负载均衡。基于CloudSim平台的仿真实验,将所提出的算法与Round Robin算法、Green Load算法在完成时间和负载平衡度方面做了比较,结果表明:所提出的方法在满足用户QoS的前提下,与具有更好的负载均衡度和完成时间。(4)提出并实现了一个用于SaaS云服务的容错的框架。通过感知云服务的QoS状态,该框架能为云服务选择最优的容错策略。通过使用隐马尔可夫模型中的木桶-小球模型,设计并实现了一个“混合的”故障发生机制,它可以模拟真实情况下各种导致SaaS服务失效的用例。通过“混合的”故障发生机制,设计了5组实验(分别是无容错机制、使用重试机制、使用重启机制、使用N版本机制和同时使用N版本机制和重试机制)以对比验证所提出的框架的有效性。结果表明,该容错框架能提供有效的容错能力,增强了SaaS服务的可用性和可靠性。