
1192
Journal of Software 软件学报 Vol.30, No.4, April 2019
应用系统提供可用的容错机制,很难顾全不同云应用系统的容错需求差异;而单独将容错机制集成到云应用系
统开发中,又很难充分利用底层的云基础架构资源和效能.目前,由第三方容错服务提供商以容错即服务的模式
为云应用系统运行提供持续可用的容错服务,已成为首选的容错服务实用模式
[4]
.
容错即服务的相关研究大都以较固定的容错技术方案为基础,未全面、适时地考虑云应用系统在运行时的
容错需求变化,容错开销较大且支撑容错服务的云资源利用率较低.具体而言,首先,容错解决的主要问题是提
高被容错应用系统的可靠性,但固定容错技术后,容错需求并未直接反映云应用系统最关心的可靠性,也很难适
应云应用系统在运行时的容错需求变化.此外,如果云应用系统使用固定的容错技术,那么支撑该容错服务的云
资源无论容错需求是否变化都将是固定的,易导致容错开销大.同时,云容错服务提供商只能为固定数量的云应
用系统提供容错服务,其容错服务资源得不到合理且充分的利用,对云容错服务提供商的收益影响较大.
本文采用容错即服务的模式,提出了一种优化的云容错服务动态提供方法,从云应用组件的可靠性、响应
时间等方面描述云应用容错需求,以常用的复制、检查点和 NVP(N-version programming)等容错技术为基础,充
分考虑容错服务动态切换开销,分别针对支撑容错服务的底层云资源是否足够的场景,给出可用容错即服务提
供方案的最优化求解方法.实验结果表明,本文所提方法降低了云应用系统支付的容错服务费用及支撑容错服
务的底层云资源的开销,提高了容错服务提供商为多个云应用实施高效可靠容错即服务的能力.
本文第 1 节概述相关工作.第 2 节给出云应用系统容错需求的具体描述.第 3 节阐述 3 种容错技术的资源
开销约束分析,对其资源需求、执行开销和响应时间进行计算.第 4 节给出容错服务间的动态切换开销.第 5 节
分别针对支撑容错服务的底层云资源是否足够的场景,给出可用容错即服务提供方案的最优化求解方法.第 6
节应用具体实例进行实验验证本文所提方法的可用性及优势.第 7 节总结全文.
1 相关工作
在针对云环境中容错技术的典型研究中,文献[5]对容错架构进行了综述.文献[6]提出了动态可适配的复制
容错和检查点容错方法,并进行了分析、建模和评估.文献[7]针对当前计算机系统计算和存储资源丰富而并行
文件系统写带宽提高相对滞后的特点,提出了基于内存缓存的异步检查点容错技术.文献[8]针对云计算系统的
软故障恢复,提出了能源感知的容错调度框架.文献[9]为分布式组件系统提出了一种容错框架.
在针对容错即服务的相关研究中,文献[4 ]提出将容错作为服务层的框架设计,但并没有提出具体的容错即
服务方案.文献[10 ] 从容错服务提供商的角度,研究了选择为哪些租户提供容错服务才能使云容错服务提供商
的收益最大的问题,但要求在容错需求中必须指定组件将要使用的具体容错技术.文献[11]提出了一种基于用
户约束的容错弹性系统,该系统内置的容错控制器将根据用户约束为用户适配容错方法,但并未考虑底层云资
源的利用率.文献[12]基于系统运行时的资源和负载情况,为用户动态地适配复制容错技术或者检查点容错技
术,但没有考虑被容错对象对时间及容错效果的要求.
通过以上分析可知,针对现有相关研究的不足,本文以容错即服务模式为切入点,切实考虑可靠性等云应用
容错需求,提出一种优化的云容错服务动态提供方法.
2 云应用系统容错需求的定义
云应用系统中不同云服务组件(具有一定功能的独立程序体)的重要程度不同,重要性越高的组件对容错的
需求更高.服务组件在不同时间段的重要程度也可能不同,例如,若某个服务组件在某个时间段被调用的次数较
多,则该组件在该时间段的重要性和容错需求就较高.可靠性是云应用系统容错需求的核心问题,并且,由于非
重要性组件对可靠性要求不是很严格,那么通过定义可靠性误差,即允许可靠性稍有降低,会使云应用系统需支
付的容错费用降低.此外,不同服务组件对响应时间和数值容错的要求不同,例如,多媒体组件对响应时间的要
求比较严格,但对数据正确性要求并不严格.通过以上分析,我们将云应用系统的容错需求描述为下面的七元组
定义.
AID_CID,periodT,Critic
AID_CID
(periodT),URelia
AID_CID
(periodT),DRelia
AID_CID
(periodT),RT
AID_CID
(periodT),
评论