计算机软件中的插件技术分析

2016-11-09 00:32邱恩海
数字技术与应用 2016年9期
关键词:插件云计算

邱恩海

摘要:虚拟化作为信息技术领域一个新兴的事物,云计算近年来逐步推广和普及。由于云计算拟化技术大大节省物理资源、具有良好的隔离性、高可用的优点,云计算大受IT界的欢迎。目前,在如何提高云平台的高可用性方面已经有很多的研究,传统的云平台高可用性措施都停留在物理主机层面,没有提供应用级、业务级的高可用性措施。大多平台的高可用性只针对公有云的,对私有云需要越来越大,虽然现在有很多的管理云平台和很多业务平台但是连通性不好,当业务出现故障,不能及时地通知管理平台。文提出基于OpenStack构建一个高可用性插件。

关键词:云计算 OpenStack 插件 运行环境

中图分类号:TP311.52 文献标识码:A 文章编号:1007-9416(2016)09-0248-01

本文提出基于OpenStack构建一个高可用性插件,该插件主要目的是:第一,增加进程级的高可用性模块,不断检测进程的运行情况,并利用虚拟机化技术对相应的故障进行处理;第二,实现业务和云平台及时沟通,对传统的Web系统进行云化提高专有云的高可用性,并在一定程度上实现云平台的负载平衡。该插件不仅可以提高云平台运行环境出现的故障,而且可以权衡云中资源的情况,合理分配资源,某种程度上实现云的负载平衡,避免了云平台“假满”的情况发生。

1 OpenStack云平台概述

云计算作为一种新的计算模型,凭借其节省资源、降低成本、高可扩展性等优点得到了快速发展,在此过程中开源云计算架构也得到不断发展和完善。OpenStack具有以下几个方面的优点:代码架构清晰,开发者可以根据自己的需要修改相应的代码;性能稳定,提供了完善虚拟机管理功能;部署灵活,用户可以根据自己的需要,进行相应地部署。

Opentstack主要有5大组件组成:Nova(计算服务)、Swift(存储服务)、Glance(镜像服务)、Keystone(识别服务)、Dashboard(用户界面服务)。Nova是整个平台的核心,是云平台的控制器,它提供管理虚拟机的所有功能,其中包括创建虚拟机实例、管理网络、控制用户等。Swift是一个具有容量大、扩展性高,并具有冗余和容错机制的对象存储系统。Glance是负责管理虚拟机镜像image的,功能主要包括存放image、检索image等功能,并向外提供接口,用户可以根据自己的需求调用相应的API请求检索实际的镜像和查询VM元数据。Keystone主要负责管理和认证OpenStack租户、角色,并为Swift提供授权服务。Dashboard是提供给用户访问OpenStack云平台Web前端界面,用户可以使用它方便使用OpenStack云平台的功能。

2 基于OpenStack的高可用系统插件设计

基于OpenStack云平台,构架一个自动检测故障,并进行恢复的云平台的插件。该插件主要从三个层次检测故障,第一,从物理主机层,检测物理主机运行时可能发生的故障;第二,从虚拟机层检测虚拟机运行时可能发生的故障;第三,从虚拟应用层,检测虚拟机中运行的进程发生的故障。该平台主要的思路是借用现有的开源云平台OpenStack的API,包括GUI层、Scheduler调度层、逻辑层和功能层层。按照该系统的工作机制,该系统从逻辑上化分为四个模块:感知模块、策略模块、执行模块、GUI模块。

GUI层:主要用来与用户进行交互,用户可以通过该界面,获得系统的运行状况,其中包括:虚拟机的运行状态、虚拟机的资源情况等,同时用户可以通过界面控制虚拟机的运行状况(例如停止某台虚拟机),也可以进行一些系统的基本配置(比如扫描时间的设置),使得整个系统更灵活、更智能。

Scheduler调度层:主要是负责对事件队列进行操作,是整个系统的核心,该层能够保证事件有条不紊地被执行。此外,它需要对事件队列满、事件队列空等各种异常进行处理,同时保证进程同步。

逻辑层:我们采取的是事件驱动机制,每个事件都有相对应的处理对象。我们的事件主要分为三种:感知事件、策略事件、执行事件。感知模块响应感知事件,策略模块响应策略事件,执行模块响应执行事件。

功能层:主要是对LibvirtAPI和OpenStack API的封装,用来与OpenStack和Libvirt进行交互,是整个系统的底层,提供对上述几层的支持。

该插件由三个模块组成。

感知模块:由感知层执行类和感知层功能类组成,负责感知整个系统的运行情况,感知功能类是最底层类的,提供对感知执行类的支持。目前,从三个层次进行感知,第一层是感知物理主机,主要包括物理主机电源、主机网络、物理主机CPU利用率、物理主机内存使用率、物理主机硬盘的使用情况;第二层是感知虚拟机,主要包括虚拟机状态、虚拟机网络、虚拟机CPU利用率、虚拟机内存使用率、虚拟机磁盘的使用情况;第三层是感知虚拟应用,主要包括虚拟应用状态、虚拟应用CPU使用率、虚拟应用内存使用率、虚拟机应用链接数、虚拟机应用是否存在。

策略模块:是由策略层执行类和策略功能类组成。主要根据感知的结果进行处理。若感知的结果是正常的,我们将什么都不处理,若感知的结果是异常的,我们就要进行制定相应的恢复策略。

执行模块:主要是由执行层执行类和执行功能组成。其主要负载故障的恢复,针对主机,我们主要提供重启主机、配置主机网络、恢复主机上所有虚拟机、通知管理员等措施;针对虚拟机,主要由删除虚拟机、重启虚拟机、迁移虚拟机、配置虚拟机网络、通知管理员等措施;针对应用层,我们主要是恢复应用、关闭进程等措施。

从上面的描述,该插件模块执行的逻辑关系是:感知模块触发策略模块,策略模块块触发执行模块。

参考文献

[1]张倩楠.关于计算机软件中的插件技术的探讨[J].信息通信,2015,(4):112-112.

[2]王雪.计算机软件中的插件技术研究[J].科学与财富,2015,(6):484-484.

[3]蔡广松.关于计算机软件中的插件技术的探讨[J].计算机光盘软件与应用,2013,(15):304-304,306.

[4]蔡霖.插件技术在计算机软件技术中的运用[J].数字通信世界,2015,(10):52-52.

猜你喜欢
插件云计算
自编插件完善App Inventor与乐高机器人通信
插件技术在计算机软件技术中的运用
实验云:理论教学与实验教学深度融合的助推器
MapWindowGIS插件机制及应用
基于Revit MEP的插件制作探讨
插件技术在计算机软件中的应用分析