一种面向构件的混合型云操作系统体系结构及其通信方法技术方案

技术编号:9436376 阅读:202 留言:0更新日期:2013-12-12 01:46
本发明专利技术提供一种面向构件的混合型云操作系统体系结构及其通信方法,基于层次、对象和消息模型建立混合型架构,并采用面向构件思想对组成构件及其处理环境进行管理,在此基础上,对构件处理集群进行高效路由、读写分离和负载均衡,满足对云操作系统地的开放兼容、松耦合和可扩展需求,解决现有云操作系统的自管理问题、构件水平伸缩问题和有状态构件的高可用问题,与现有技术相比,本发明专利技术提出的面向构件的混合型架构完善了开放兼容、可扩展、松耦合的构件化云操作系统体系结构,并通过构件水平伸缩集群和高可用集群的通信方法保障了云操作系统的可伸缩性和高可用性。

【技术实现步骤摘要】
【专利摘要】本专利技术提供,基于层次、对象和消息模型建立混合型架构,并采用面向构件思想对组成构件及其处理环境进行管理,在此基础上,对构件处理集群进行高效路由、读写分离和负载均衡,满足对云操作系统地的开放兼容、松耦合和可扩展需求,解决现有云操作系统的自管理问题、构件水平伸缩问题和有状态构件的高可用问题,与现有技术相比,本专利技术提出的面向构件的混合型架构完善了开放兼容、可扩展、松耦合的构件化云操作系统体系结构,并通过构件水平伸缩集群和高可用集群的通信方法保障了云操作系统的可伸缩性和高可用性。【专利说明】
本专利技术涉及云计算领域,,具体地说是。
技术介绍
随着云计算的兴起,传统的数据中心迅速向云数据中心转型。在数据中心从初级向高级形态演进的物理资源整合、应用与虚拟化接合、自动化管理、数据中心协同四个阶段中,云操作系统(COS, Cloud Operating System)发挥着重要作用,承担着对上接口应用、对下管理硬件的中间功能,将大量的异构设备融合为逻辑资源池,动态调度给云应用,完成对终端的服务。云数据中心环境具有动态、异构、大规模和单点易失效的特征,因此,COS需采用广泛兼容的开放架构,既考虑对第三方软硬件的兼容性,也将二次开发纳入其中,提供完善标准的接口 API ;针对云计算环境对功能的动态变化需求,COS需采用可扩展的构件化设计,在虚拟化、资源调度等基本构件基础上,便于运维管理、计量计费和自助服务等构件的增值开发和按需部署;此外,COS还要采用伸缩性和高可用设计,达到云计算追求的规模扩展和业务连续性目标。针对云数据中心对COS的松耦合、可扩展、可伸缩和高可用需求,采用传统OS的单一模块架构可以实现COS模块间的高效调用,但耦合紧密、结构复杂,系统难于扩展;采用层次架构可以使各模块间的组织结构和依赖关系清晰化,提高COS的可靠性、可移植性和维护性,但软件栈层次太深使得内核过于庞大,并且模块间的耦合程度仍然较高,不适于构建分布处理环境;在上述架构基础上,开源软件OpenStack和CloudStack基于消息队列建立了松耦合的云管理架构,但缺乏面向构件的设计,无法控制构件生命周期,需要组成模块自行考虑伸缩和高可用方式,加重了模块的开发部署负担和运行开销。遵循高内聚低耦合原则,应该从COS层面增加对构件的管理并保障其可扩展性、可伸缩性和高可用性,这其中主要面对的问题是: 1.当前的云操作系统缺乏自包含性,无法对组成构件进行描述和管理,也无法对其处理环境进行动态监控; 2.针对构件的高可用处理集群,现有通信协议基于构件的无状态性假设设计,缺乏读写分离机制和负载均衡策略,无法实现对有状态构件处理集群的高可用和高性能支持; 3.针对构件的水平伸缩(scale-out)处理集群,现有基于树的路由算法效率受到关键字规模扩大的影响,而基于Hash的路由算法在节点变化时会造成大量的数据移动,并且缺乏均衡异构节点负载的数据分布方法。因此,如何在COS中提供对构件及其处理集群的管理和监控机制,以及实现消息的高效路由和负载均衡,成为COS架构中亟待解决的技术问题。
技术实现思路
本专利技术的目的是提供。本专利技术的目的是按以下方式实现的,基于层次、对象和消息模型建立混合型架构,并采用面向构件思想对组成构件及其处理环境进行管理,在此基础上,对构件处理集群进行高效路由、读写分离和负载均衡,满足对云操作系统地的开放兼容、松耦合和可扩展需求,解决现有云操作系统的自管理问题、构件水平伸缩问题和有状态构件的高可用问题, 从层次模型角度,系统自上至下分为门户层、逻辑层、适配层和实现层,各层相对独立,通过在各层分别定义标准接口增强开放性,通过在各层适配不同功能实现增强兼容性; 从对象模型角度,云操作系统由云门户、云管理门户、云资源管理、监控管理、计量计费、业务审批、授权认证功能模块组成,各功能组件通过基于Rest消息的调用进行通信,可自由组合,按需分布部署,并且可根据需求增值开发新模块,通过在逻辑层的不同模块间实现互操作增强平台的可扩展性,在实施例中,最小化安装的云操作系统仅由云门户、云管理门户和云资源管理模块组成,在此基础上,监控、计费、审批或其他模块按需定制和扩展,通过基于Rest消息的调用进行通信,按需分布部署和增值开发,通过在逻辑层的不同模块间实现互操作增强系统的可扩展性;引入基于消息的通信方式支持异步调用,使用消息通信接口 JMS传输Rest消息,使系统架构进一步解耦,在此基础上,采用面向构建设计,构件管理门户负责管理构件的元数据并对其运行状态进行监控; 对象架构虽然能够实现按需扩展和分布部署,但属于RPC(Remote Process Call)同步通信方式,发送端等待接收端返回后才能继续执行,双方进程紧耦合,随着系统的扩大化和复杂化,构件之间的关联关系过于复杂,针对此问题,在对象架构的基础上引入基于消息的通信方式,使用消息通信接口 JMS传输Rest信息,使得发送和接收端生命周期可以不同,并支持异步调用,使系统架构进一步解耦,在实施例中,门户和云资源层之间的虚拟机开启、关闭、挂起、关闭等操作通过异步方式实现,门户发出命令后无需等待响应即可返回,提升了用户交互效果; 基于上述混合型架构的云操作系统能够满足开放兼容和扩展需求,在此基础上,基于面向构建设计思想,构件管理.门户负责管理构件的元数据信息,支持注册、删除、修改和查询等操作,其中, 构件是一个三元组包括:名称、服务集合、访问地址、描述; 服务是一个四元组,包括:名称、类型、消息协议、参数列表、key名称、功能描述、非功能描述; 除对构件进行描述和管理,构件管理模块进一步对其处理环境进行监控,为保障构件的可伸缩性和可用性提供基础服务,完善云操作系统的自管理能力,在构件注册时,系统为其分配用户名user、密码psw以及唯一的构件id,之后构件处理集群的接入过程为 1)处理集群向地址为url的系统总线发起接入请求,系统总线验证接入节点的用户名、密码和id,如验证通过,建立连接,代码为:connection=ConnectionFactory.createConnection(user, psw, url); 2)建立一个写操作主题,构件的每个处理节点向该主题订阅写操作;write_topic=session.createTopic(id+〃WRITE_T0PIC〃);write_topic_consumer=session.createConsumer(write_topic); 3)构件在writeTopicListener的onMessage方法中实现写处理,并向系统总线注册;write_topic_consumer.setMessageListener(writeTopicListener); 4)根据构件处理节点数mum建立读操作队列组,每个处理节点对应一个队列订阅读操作read_queue=session.createMultiQueue(num, id+-READ_QUEUE-);read_queue_consumer=session.createConsumer(read_queue); 5)在readQueueListener本文档来自技高网
...

【技术保护点】
一种面向构件的混合型云操作系统,?其特征在于基于层次、对象和消息模型建立混合型架构,并采用面向构件思想对组成构件及其处理环境进行管理,在此基础上,对构件处理集群进行高效路由、读写分离和负载均衡,满足对云操作系统地的开放兼容、松耦合和可扩展需求,解决现有云操作系统的自管理问题、构件水平伸缩问题和有状态构件的高可用问题,从层次模型角度,系统自上至下分为门户层、逻辑层、适配层和实现层,各层相对独立,通过在各层分别定义标准接口增强开放性,通过在各层适配不同功能实现增强兼容性;从对象模型角度,云操作系统由云门户、云管理门户、云资源管理、监控管理、计量计费、业务审批、授权认证功能模块组成,各功能组件通过基于Rest消息的调用进行通信,可自由组合,按需分布部署,并且可根据需求增值开发新模块,通过在逻辑层的不同模块间实现互操作增强平台的可扩展性,在实施例中,最小化安装的云操作系统仅由云门户、云管理门户和云资源管理模块组成,在此基础上,监控、计费、审批或其他模块按需定制和扩展,通过基于Rest消息的调用进行通信,按需分布部署和增值开发,通过在逻辑层的不同模块间实现互操作增强系统的可扩展性;引入基于消息的通信方式支持异步调用,使用消息通信接口JMS传输Rest消息,使系统架构进一步解耦,在此基础上,采用面向构建设计,构件管理门户负责管理构件的元数据并对其运行状态进行监控;对象架构虽然能够实现按需扩展和分布部署,但属于RPC(Remote?Process?Call)同步通信方式,发送端等待接收端返回后才能继续执行,双方进程紧耦合,随着系统的扩大化和复杂化,构件之间的关联关系过于复杂,针对此问题,在对象架构的基础上引入基于消息的通信方式,使用消息通信接口JMS传输Rest信息,使得发送和接收端生命周期可以不同,并支持异步调用,使系统架构进一步解耦,在实施例中,门户和云资源层之间的虚拟机开启、关闭、挂起、关闭等操作通过异步方式实现,门户发出命令后无需等待响应即可返回,提升了用户交互效果;基于上述混合型架构的云操作系统能够满足开放兼容和扩展需求,在此基础上,基于面向构建设计思想,构件管理门户负责管理构件的元数据信息,支持注册、删除、修改和查询等操作,其中,构件是一个三元组包括:名称、服务集合、访问地址、描述;服务是一个四元组,包括:名称、类型、消息协议、参数列表、key名称、功能描述、非功能描述;除对构件进行描述和管理,构件管理模块进一步对其处理环境进行监控,为保障构件的可伸缩性和可用性提供基础服务,完善云操作系统的自管理能力,在构件注册时,系统为其分配用户名user、密码psw以及唯一的构件id,之后构件处理集群的接入过程为:1)处理集群向地址为url的系统总线发起接入请求,系统总线验证接入节点的用户名、密码和id,如验证通过,建立连接,代码为:connection=ConnectionFactory.createConnection(user,psw,url);2)建立一个写操作主题,构件的每个处理节点向该主题订阅写操作;write_topic=session.createTopic(id+"WRITE_TOPIC");write_topic_consumer=session.createConsumer(write_topic);3)构件在writeTopicListener的onMessage方法中实现写处理,并向系统总线注册;write_topic_consumer.setMessageListener(writeTopicListener);4)根据构件处理节点数mum建立读操作队列组,每个处理节点对应一个队列订阅读操作read_queue=session.createMultiQueue(num,id+"READ_QUEUE");read_queue_consumer=session.createConsumer(read_queue);5)在readQueueListener的onMessage方法中实现具体的读处理功能,并向系统总线注册read_queue_consumer.setMessageListener(readQueueListener);在上述读写分离队列组基础上,在构件管理模块中对各构件的服务类型进行区分,设定其为幂等或非幂,幂等操作属于无状态操作,在同一状态下每次执行的结果相同;非幂等操作属于有状态操作,同一状态下每次执行的结果不同,路由器根据服务类型进行路由,非幂操作发送到唯一的写队列,幂操作根据负载均衡策略发送到不同的读...

【技术特征摘要】

【专利技术属性】
技术研发人员:王恩东张东刘正伟亓开元刘俊朋郭峰刘成平高飞朱波
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1