一种云平台消息分发的方法及系统技术领域
本发明涉及云计算技术领域,尤其涉及一种云平台消息分发的方法及系统。
背景技术
云计算是使用SOA即Service-OrientedArchitecture架构的思想,它把软
硬件作为一种资源服务提供给终端用户使用。服务开发用户则可以利用云计算
平台提供的公共接口来获取相应的硬件和软件资源来进行服务的开发,而终端
用户则可根据自身的需求定制和使用服务。
云监控在云计算领域是一个重点方向。在云的模式下,所有资源的高度集
中统一管理,云系统出现问题所造成的损失将比传统应用模式下更为严重。因
此,在云的模式下,一方面要求管理员能够及时预见并化解云计算系统中可能
出现的潜在问题;另一方面要求一旦出现问题能够及时通知管理员使管理员能
够迅速定位并解决问题。云监控系统将成为管理员管理云平台的最有力工具。
目前云计算的市场推广中,能否可靠方便的监控云平台运行是用户最为关心的
问题之一。
云监控主要分为两类,公有云监控和私有云监控。
云监控向用户提供可视化的云运行状况,包括云运行的服务器和创建的虚
拟机功能,当云出现错误时,自动向用户报警,并提供历史数据查看功能,大
大提升了云系统整体的用户体验。是增加云整体竞争力不可或缺的重要子产品。
公有云监控提供公共的监控平台,主要用于监控网站运行状态和服务器运
行状态。提供商包括监控宝、盛大云监控、阿里云监控等等。公有云监控的特
点是通过互联网监控,主要针对网站,提供的功能较单一,难以监控到单台虚
拟机。
私有云监控主要是监控私有云的服务器、虚拟机运行状态,主要运行于私
有云所在的网络,监控数据的种类、粒度、可定制性、可视化程度都胜于公有
云。主要供应商包括Vmware、思杰、zabbix等。
在实际应用中,云平台监控系统一般的做法是采用成熟的消息中间件实现
消息转发,对于开发者是黑盒子,无法实现定制化,无法针对具体的云平台系
统进行高效的定制,优化消息对接机制,实现高效的消息分发。并且在常规的
策略中容易造成云平台组件之间的消息延迟,系统部署往往受制于网络和软硬
件环境问题,成功率较低,成本较高,可控性较差。
发明内容
本发明的目的是为了克服现有技术的缺陷,提供一种云平台消息分发的方
法及系统,通过预加载实现消息的高效分发,同时通过多种广播规则实现机制,
提高云平台消息广播规则加载的灵活性。
为实现上述目的,一方面,本发明提供了一种云平台消息分发的方法,该
方法的流程为:云平台组件发出消息命令请求,通过预加载广播规则,消息体
携带预加载的规则,进入云平台消息组件,然后由消息队列实现机制,进入队
列,在消息队列出口,进行路由规则匹配,云平台消息组件根据匹配的结果进
行云平台的消息路由分发,云平台组件接受到消息之后,进行消息处理,处理
结果再次进入消息路由循环。
优选地,本发明采用分布式异步归类遍历的方式进行路由规则匹配。
优选地,预加载广播规则的实现机制包括规则匹配,函数式匹配,带参函
数匹配机制。
另一方面,本发明还提供了一种云平台消息分发系统,该系统包括云平台
组件和云平台消息组件,其中,云平台组件包括计算组件、存储组件、控制组
件和云监控组件。
计算组件,负责管理整个云平台的计算资源、网络、授权及测度;虽然计
算组件本身并不提供任何虚拟能力,但是它将使用libvirtAPI与虚拟机的宿主机
进行交互。
控制组件,用以管理、控制云服务的Web控制面板,管理实例、镜像、创
建密匙对,对实例添加卷、操作容器;除此之外,用户还能够在控制面板中使
用终端(console)或VNC直接访问实例。
存储组件,一种分布式、持续虚拟对象存储,具有跨节点百级对象的存储
能力;内建冗余和失效备援管理,也能够处理归档和媒体流。
云监控组件,负责对整个系统的运行参数采集,传输,整理,展现。
云平台消息组件,是系统的消息调度管理中间件。
本发明技术方案带来的有益效果:
第一,采用本发明的预加载消息广播规则的实现方案,有效的降低云平台
消息分发的时间,提高云平台组件之间消息的分发效率。
第二,采用本发明实现多种云平台广播规则的实现机制,包括规则匹配,
函数式匹配,带参函数匹配等,提高了云平台消息广播规则加载的灵活性,使
得规则定制更加灵活,实现各种具体的业务需求。
第三,采用本发明能够提高部署的成功率,提前验证部署的IaaS组件的网络
连通性,功能组件的可用性,这样做可以有效降低部署的成本,提高整个系统
的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施
例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述
中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付
出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明的一种云平台消息分发的方法流程图;
图2是本发明的一种云平台消息分发的系统架构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清
楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是
全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造
性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种云平台消息分发的方法,该方法的具体的实现流程如图1
所示,云平台组件发出消息命令请求,通过预加载广播规则,消息体携带预加
载的规则,进入云平台消息组件,然后由消息队列实现机制,进入队列,在消
息队列出口,进行路由规则匹配,云平台消息组件根据匹配的结果进行云平台
的消息路由分发,云平台组件接受到消息之后,进行消息处理,处理结果再次
进入消息路由循环。
其中,采用分布式异步归类遍历的方式进行路由规则匹配。
在云平台组件发出消息命令请求时,预加载广播规则的实现机制包括规则
匹配,函数式匹配,带参函数匹配等多种机制。例如,-.controller,表示所有匹
配规则以controller结尾的路由规则,都将会得到转发。另外,这里的规则也可
以实现多种规则匹配,例如cloud.getComponentName()==“Compute”,表示消
息路由的对象云平台组件的名称必须是Compute。
规则匹配,
cloud.getComponentCPUValue()>=80%。
函数式匹配,
cloud.getComponentOneCPUValue()!=cloud.getComponentTwoCPUValue()!
带参函数匹配,
cloud.getComponentCPUValue(Intx)equals(cloud.getComponent
CPUValue()*x)。
如图2所示为本发明的一种云平台消息分发系统的架构图。该系统包括云
平台组件和云平台消息组件,其中,云平台组件包括计算组件、存储组件、控
制组件和云监控组件。
计算组件,负责管理整个云平台的计算资源、网络、授权及测度。虽然计
算组件本身并不提供任何虚拟能力,但是它将使用libvirtAPI与虚拟机的宿主机
进行交互。
控制组件,用以管理、控制云服务的Web控制面板,它管理实例、镜像、
创建密匙对,对实例添加卷、操作容器等。除此之外,用户还能够在控制面板
中使用终端(console)或VNC直接访问实例。
存储组件,一种分布式、持续虚拟对象存储,具有跨节点百级对象的存储
能力。内建冗余和失效备援管理,也能够处理归档和媒体流,特别是对大数据
(千兆字节)和大容量(多对象数量)的测度非常高效。
云监控组件,负责对整个系统的运行参数采集,传输,整理,展现。
云平台消息组件,是系统的消息调度管理中间件。
云平台组件进行消息分发通信,在云平台消息组件内部,通过历史规则校
验,在消息发出之前,进行广播规则预加载,在消息发出之后,匹配既定的广
播规则到消息体上,然后消息对接组件携带消息规则,进入消息队列,此时由
消息队列实现机制,进行规则匹配,然后进行消息转发到指定接受的云平台组
件。
以上对本发明实施例所提供的一种云平台消息分发的系统及方法进行了详
细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上
实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领
域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有
改变之处,综上所述,本说明书内容不应理解为对本发明的限制。