一种基于运行时模型的云计算容错机制配置方法

文档序号:9288355阅读:372来源:国知局
一种基于运行时模型的云计算容错机制配置方法
【技术领域】
[0001] 本发明涉及一种容错机制配置方法,针对云计算中多样化的容错需求,提出了一 种基于运行时模型的容错配置方法,进行容错机制的选择和容错配置的规划,属于软件技 术领域。
【背景技术】
[0002] 云计算可以便捷地从可配置的资源池中获得计算、存储、网络等形式的资源,这 些资源能够便捷地申请和释放,使资源管理和使用成本大大降低。随着云平台的普及和 其规模的扩大,其可靠性所面临的问题也越来越严重。而容错技术可保证云平台发生故 障时,使系统持续提供有效服务,提升系统的可靠性。容错是指系统在出现错误的情况下 继续对外提供服务的能力。容错一般包括两个步骤:错误检测和恢复。错误检测的目的 是及时发现系统内出现的错误,恢复的目的是将系统恢复到正确状态并防止错误再次发 生,包括错误处理和故障处理两个阶段。研究表明,容错技术是防止系统失效的有效手段 (AvizienisA.;LapriJ-C. ,RandellB.;LandwehrC. 2004.BasicConceptsandTaxonomy ofDependableandSecureComputing.IEEETransactionsonDependableandSecure Computing. 1:11-33),并已在航空航天、医疗、银行等系统实践中得到广泛应用。
[0003] 容错配置是根据软件和运行环境对容错机制进行选择、部署和测试。在传统单机 和局域网环境下,上层软件独占底层基础设施,软件部署时容错需求明确,软件运行时容错 需求不变或基本不变,因此,可针对固定的容错需求实现容错配置。在云计算环境下,由于 基础设施共享、资源规模超大、应用种类多、数量大且容错需求多样化,云计算容错配置面 临开放性挑战。为保证用户部署的服务持续可用,容错配置过程中的容错机制选择和部署 等步骤,均需结合应用业务逻辑来实现。而由于应用的多样性和规模化,目前云平台更多 在系统层提供通用的容错机制及配置方式,无法结合应用业务逻辑实现容错配置。这种未 考虑应用业务逻辑的容错配置方式,难以满足多样化应用的容错需求。例如,在容错机制 选择时,考虑到可靠性与容错成本比最大化的需求,需要在应用结构分析的基础上,为各个 构件选择不同的容错机制,如对关键构件选择可靠性高且容错成本高的双工机制(Zhang Y;ZhengZ;LyuMR. 2011.BFTCloud:Abyzantinefaulttoleranceframeworkfor voluntary-resourcecloudcomputing.CloudComputing(CLOUD),IEEEInternational Conferenceon. 444-451.),对非关键构件选择可靠性较低且容错成本低的温备份机 制(DantasJ.;etal.2012.Anavailabilitymodelforeucalyptusplatform:An analysisofwarm-standyreplicationmechanism.IEEEInternationalConferenceon Systems,Man,andCybernetics. 1664-1669. )〇

【发明内容】

[0004] 针对云平台中容错配置开放性问题,本发明的目的在于提供一种基于运行时模型 的容错配置方法。本发明通过对目标应用结构分析,选择合适的容错机制,根据容错机制以 及用户需求,制定合适的容错部署方案,并在运行时模型中实现容错测试。
[0005] 本发明是通过如下技术方案实现的:
[0006] -种基于运行时模型的容错机制配置方法,其步骤为:
[0007] 1)管理员构造目标应用的构件依赖图,该图描述了应用中各个构件之间的依赖关 系。云平台容错配置框架对该构件依赖图进行分析,对目标应用的各个构件进行排序。进 一步的,按照此排序结果和动态规划算法为各个构件推荐容错机制,实现容错效果与容错 成本的最优比;
[0008] 2)云平台容错配置框架构造云容错运行时模型,维护运行时模型与运行时云平台 的双向同步,即运行时云平台系统状态变化会实时同步至运行时模型,反之,运行时模型的 变化也会同步至系统;
[0009] 3)云平台容错配置框架根据步骤一中推荐的容错机制,制定容错部署方案,并将 容错机制部署到运行时模型中。利用步骤二中运行时模型与运行时云平台的同步能力,将 容错机制代码部署至运行时云平台中。
[0010] 4)云平台容错配置框架对运行时模型进行错误注入,并评估容错效果。
[0011] 进一步的,在分析目标应用结构特征的过程中,对该目标应用的构件重要性程度 进行排名,按照该排名,从容错机制库中为各个构件选择容错机制(容错库中包括双工、热 备、冷备、重启、重试、优先迀移和软件恢复七种容错机制),以实现容错性价比的最优化,其 中,容错效果使用软件可靠性进行度量,容错成本使用容错机制对硬件资源的消耗进行度 量。
[0012] 进一步的,云平台容错配置框架中的用户需求,包括可靠性〇〇、可用性%)、故 障转移时间(TJ。
[0013] 进一步的,容错机制的选择过程包含两个步骤:(1)构件排名。为实现可靠性与容 错成本的最优比,本文针对目标应用的结构信息,基于场景的可靠性分析算法SBRA(Sherif Y.,BojanC.,andHanyH.Ammar.AScenario-BasedReliabilityAnalysisApproachfor Component-BasedSoftware.IEEEtransactionsonreliability2004,53(4):465-480.) 实现构件重要性排名,(2)针对各个构件分别推荐容错机制。本发明提出动态规划算法,以 实现目标应用的容错性价比最优化,该动态规划算法中,将可靠性与容错成本比作为优化 目标,将用户需求(包括可靠性、可用性、故障转移时间)作为约束。
[0014] 进一步的,构件重要性排名的思路是,分别对单个构件提升其可靠性,然后利用 SBRA计算整个应用的可靠性,根据整体可靠性的提升程度对构件重要性进行排名。算法流 程图如图2所示,所有构件的可靠性初始值为0. 8,构件个数为N,对单个构件可靠性分别提 升〇. 2,然后使用基于场景的可靠性分析算法SBRA,对全局可靠性Rapp1进行计算,最终按照 整体应用可靠性提升程度对构件排名。
[0015] 进一步的,对单个构件进行容错机制推荐,包括两个步骤。首先,根据故障类型和 故障源对容错机制进行过滤:
[0016] set: ={mjwEEsst's 其中,set。是所有容错机制构成的集合, set是经过对故障源以及故障类型进行匹配后满足该条件的容错机制集合。Ul描述用户指 定的故障类型,u2描述用户指定的故障源。ft;和fs;分别表示第i个容错机制能够处理的 故障类型集合以及故障源集合。然后,根据用户约束选择容错机制。此处的用户约束包括 可靠性0U、可用性(Ai)、故障转移时间(TFi)三个属性。Ul,u2,u3分别表示用户在可用性, 可靠性,故障转移时间方面的约束,在满足约束的前提下最优化可靠性与资源消耗比。动态 规划数学公式为:
[0017] 最大化目标:
[0024] e{0,l}
[0025] 上述公式中,m表示容错机制个数,n表示某个目标应用的构件个数。R?表示为第j个构件选择第i个容错机制,(V表示第j个构件选择第i个容错机制所消耗的资源,A? 表示第j个构件选择第i个容错机制后的可用性,TF?表示第j个
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1