[发明专利]一种面向构件的混合型云操作系统体系结构及其通信方法有效
申请号: | 201310367864.2 | 申请日: | 2013-08-22 |
公开(公告)号: | CN103442049A | 公开(公告)日: | 2013-12-11 |
发明(设计)人: | 王恩东;张东;刘正伟;亓开元;刘俊朋;郭峰;刘成平;高飞;朱波 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250014 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供一种面向构件的混合型云操作系统体系结构及其通信方法,基于层次、对象和消息模型建立混合型架构,并采用面向构件思想对组成构件及其处理环境进行管理,在此基础上,对构件处理集群进行高效路由、读写分离和负载均衡,满足对云操作系统地的开放兼容、松耦合和可扩展需求,解决现有云操作系统的自管理问题、构件水平伸缩问题和有状态构件的高可用问题,与现有技术相比,本发明提出的面向构件的混合型架构完善了开放兼容、可扩展、松耦合的构件化云操作系统体系结构,并通过构件水平伸缩集群和高可用集群的通信方法保障了云操作系统的可伸缩性和高可用性。 | ||
搜索关键词: | 一种 面向 构件 混合 操作系统 体系结构 及其 通信 方法 | ||
【主权项】:
一种面向构件的混合型云操作系统, 其特征在于基于层次、对象和消息模型建立混合型架构,并采用面向构件思想对组成构件及其处理环境进行管理,在此基础上,对构件处理集群进行高效路由、读写分离和负载均衡,满足对云操作系统地的开放兼容、松耦合和可扩展需求,解决现有云操作系统的自管理问题、构件水平伸缩问题和有状态构件的高可用问题,从层次模型角度,系统自上至下分为门户层、逻辑层、适配层和实现层,各层相对独立,通过在各层分别定义标准接口增强开放性,通过在各层适配不同功能实现增强兼容性;从对象模型角度,云操作系统由云门户、云管理门户、云资源管理、监控管理、计量计费、业务审批、授权认证功能模块组成,各功能组件通过基于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);在上述读写分离队列组基础上,在构件管理模块中对各构件的服务类型进行区分,设定其为幂等或非幂,幂等操作属于无状态操作,在同一状态下每次执行的结果相同;非幂等操作属于有状态操作,同一状态下每次执行的结果不同,路由器根据服务类型进行路由,非幂操作发送到唯一的写队列,幂操作根据负载均衡策略发送到不同的读队列;读操作负载均衡流程过程为:1)计算节点的处理能力;若节点i的CPU频率、内存容量和I/O带宽分别为Ci,Mi和Bi,集群的各种资源为节点各种资源之和,即C=∑Ci,M=∑Mi,B=∑Bi;则节点i的CPU权值为WiCPU=Ci/C,内存容量WiRAM=Mi/M,I/O带宽WiIO=Bi/B;若构件服务所需资源比例分别为pCPU,pRAM,pIO,则节点i的处理能力为Wi=pCPUWiCPU+pRAMWiRAM+pIOWiIO;2)根据读写操作权值计算各节点的负载;若读队列Lr同写队列 Lw 的读写操作开销比a ,则节点i的负载Li=LRi+aLW各节点的负载状态Si=Li/Wi3)选择负载最轻的节点进行路由;写操作采用流水方式进行,以提高数据写入效率,其过程为节点1首先写入数据,写入一个数据分片64 KB后,在继续接收数据的同时向节点2转发已写入的64K数据,节点2至节点n以相同方式接收和转发数据,直到节点n写入最后一个不超过64 KB数据分片;在上述通信方法基础上,节点监控模块进一步将构件处理节点的加入、退出、失效和恢复事件发送给构件管理模块,其中,节点加入事件是指为构件添加一个处理节点;节点退出事件是指为构件撤销一个处理节点;节点失效事件是指构件的一个处理节点不可用;节点苏醒事件是指构件一个不可用处理节点恢复可用。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310367864.2/,转载请声明来源钻瓜专利网。