ISSN 1000-1239 CN 11-1777/TP

计算机研究与发展 ›› 2016, Vol. 53 ›› Issue (1): 138-154.doi: 10.7544/issn1000-1239.2016.20150608

所属专题: 2016优青专题

• 软件技术 • 上一篇    下一篇

一种基于模型的云计算容错机制开发方法

武义涵1,2,3,黄罡1,2,张颖1,2,熊英飞1,2   

  1. 1(高可信软件技术教育部重点实验室(北京大学) 北京 100871); 2(北京大学信息科学技术学院 北京 100871); 3(国家计算机网络应急技术处理协调中心 北京 100029) (wuyihan@pku.edu.cn)
  • 出版日期: 2016-01-01
  • 基金资助: 
    国家“八六三”高技术研究发展计划基金项目(2015AA01A202);国家自然科学基金项目(61222203,61300002)

A Model-Based Fault Tolerance Mechanism Development Approach for Cloud Computing

Wu Yihan1,2,3, Huang Gang1,2, Zhang Ying1,2, Xiong Yingfei1,2   

  1. 1(Key Laboratory of High Confidence Software Technologies(Peking University), Ministry of Education, Beijing 100871); 2(School of Electronics Engineering & Computer Science, Peking University, Beijing 100871); 3(National Computer Network Emergency Response Technical Team/Coordination Center of China, Beijing 100029)
  • Online: 2016-01-01

摘要: 目前商业云平台和开源云平台种类繁多,如CloudStack,OpenStack,Eucalyptus等,这些云平台提供的管理能力和管理方式存在较大差异,即使在同一个云平台中也存在多种虚拟化方式,如Xen,KVM,VMware等.近年来,随着私有云和混合云的迅速发展,基础设施的异构程度加剧.由于容错机制往往依赖于基础设施的管理能力和管理方式,因此容错机制实例在不同的目标平台上需要分别实现,导致容错机制的开发难度和开发时间显著增加.针对这一问题,提出了一种基于模型的容错机制开发方法,实现容错机制的跨平台性.为了验证容错机制开发方法的有效性和实用性,实现了7种常见的容错机制实例,并在CloudStack和OpenStack开源云平台上进行验证.实验表明,这些容错机制能够有效地实现故障转移,提升容错对象可靠性、可用性等指标;提出的容错机制开发方法能够实现跨平台,并达到90%以上的代码复用率;对云平台管理员以及容错机制开发者的问卷调查结果表明,该方法能够较好地提升容错机制的开发体验和开发效率.

关键词: 云计算, 容错机制, 运行时模型, 自适应, 可信性

Abstract: There are many different kinds of cloud computing platforms, such as CloudStack, OpenStack, Eucalyptus, and so on, which differentiate from each other in management abilities and management styles. Even in a particular cloud platform, there are also different kinds of virtualization technologies, such as Xen, KVM, VMware, etc. Recent years, with the rapid development of private cloud and hybrid cloud, the heterogeneity degree of infrastructure is aggravated. Fault tolerance (FT) mechanisms are usually supported by the management ability and management style of the infrastructure. As a result, a fault-tolerant mechanism needs to be repeatedly implemented on different platforms. Meanwhile, this directly causes the obvious growing difficulty and increasing amount of time consumption in FT mechanism. In order to reach the goal of achieving FT mechanism among different platforms, we propose a model-based, cross-platform FT mechanism development approach in this paper. To validate the effectiveness and practicability of model-based development approach, we implemente seven fault tolerance mechanisms in CloudStack and OpenStack. A series of experiments show that failover is implemented effectively by these FT mechanisms, and the reliability and availability of the FT target are improved. With high reusability (over 90%) of the code, the FT mechanisms in this thesis can function cross different platforms. Analysis of the questionnaire survey conducted among developers show that our approach can improve the development experience and development efficiency.

Key words: cloud computing, fault tolerance(FT) mechanism, runtime model, self-adaptive, dependability

中图分类号: