[发明专利]一种云环境下消息的转发方法在审
申请号: | 201310006626.9 | 申请日: | 2013-01-09 |
公开(公告)号: | CN103051521A | 公开(公告)日: | 2013-04-17 |
发明(设计)人: | 崔赢;颜秉珩;张俊;张现忠 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | H04L12/58 | 分类号: | H04L12/58;H04L29/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250014 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 环境 消息 转发 方法 | ||
技术领域
本发明涉及云计算通讯技术领域,具体地说是一种云环境下消息的转发方法。
背景技术
随着虚拟化技术的发展成熟以及网格技术与其结合下,孕育出云计算。而云计算环境中各物理节点间的消息通讯成为其重要的组成部分,消息通讯是云计算环境中很多诸如监控服务、系统管理、调度、负载均衡、高可用等操作的基础。然而如何保证这些进程或服务间的可靠的消息通讯便成为当前云计算环境下急需解决的关键问题。而解决消息通讯最大的问题便是云环境下大量进程和服务之间的消息转发和路由。
因此,需要设计一种能够方便的进行消息转发的方法和系统,能够确保异构复杂的云计算环境下的进程或服务的可靠通讯。同时保证此方法和系统的通用性和移植性,降低消息通讯机制开发的复杂性和成本。
发明内容
本发明的技术任务是解决现有技术的不足,提供一种新式云环境下消息的转发方法。
本发明的技术方案是按以下方式实现的,是以转发器为核心,通过绑定关键字将特定类型转发器和指定队列来进行绑定,消息发送者将带有转发关键字的消息发送给特定类型转发器,该转发器再通过将消息中的转发关键字与绑定关键字进行匹配,然后将消息转发给匹配的队列,消息接收者从队列中取得所需消息,以上便实现了云环境下消息的转发。该系统包括:直接式转发器(1),广播式转发器(2),主题式转发器(3),消息头式转发器(4),消息队列(5)其中:
直接式转发器(1)是所有转发器的实现基础,负则消息的直接转发。其原则是:通过精确匹配消息的转发关键字,将消息转发到零个或者多个队列中,绑定关键字用来将队列和转发器绑定到一起,这样便可以构建经典的点对点队列消息传输模型,不过和任何已定义的转发器类型一样,当消息的转发关键字与多个绑定关键字匹配时,消息可能会被发送到多个队列中;
广播式转发器(2)负则消息的广播发送,其原则是:不论消息的转发关键字是什么,这条消息都会被转发到所有与该转发器绑定的队列中。广播式转发器类型的工作方式为:不使用任何参数将消息队列与转发器绑定在一起。 当消息发送者向转发器发送一条消息时,消息被无条件的传递到所有和这个转发器绑定的消息队列中,完成消息转发;
主题式转发器(3)负则消息的模式匹配转发,其原则是:通过消息的转发关键字和绑定关键字的模式匹配,将消息转发到被绑定的队列中。这种转发器类型可以被用来支持经典的发布/订阅消息传输模型。使用主题名字空间作为消息寻址模式,将消息转发给那些部分或者全部匹配主题模式的多个队列;
消息头式转发器(4)的作用是负责消息的多重属性的转发,并且使用消息头比转发关键字更容易表述。消息头转发器器忽略转发关键字属性。取而代之的是,整个消息头属性被用于转发匹配。如果消息头的值与绑定队列指定的值相同,则此消息会被匹配并发送给相应的队列。消息头式转发器类似于主题式转发器,都是指出多个过虑条件,但是消息头转发器的条件是通过消息头来获取,而不同于转发关键字,可以是任何顺序,匹配方式可以是any或all(也就是可以匹配指定的消息头值的任何一个或者所有);
消息队列(5)主要负责关联消息接收者,并储存消息转发器发送的消息,当消息转发器发送过来一条消息时,会将此消息储存在队列中,并通过消息接收者,当消息接收都将此消息从队列中取出时,消息队列会将此消息删除。
具体转发步骤如下:
在系结构中,所有消息转发器都先接受消息,然后将消息发送给匹配的消息队列,消息队列是一个缓冲区,它为一组消接收者应用程序保存消息,应用程序在其权限范围之内可以自由的创建、共享、使用和消费消息队列,消息队列提供了有限制的先进先出的保证,服务器会将从某一个消息发送者发出的同等优先级的消息,按照它们进入队列的顺序传递给某个消息接收者,只要用户或消息接收者拥有相应的权限,任何队列都可以被显式删除,消息队列将消息保存在内存、硬盘或者这两种介质的组合之中,消息队列保存消息,并将消息分发给一个或多个消息接收者,消息队列会跟踪消息的获取情况,消息要出队就必须被获取,然后再消费,获取和消费是两个动作,先执行获取,相当于对消息加锁。这就阻止了多个消息接收者同时获取和消费同一条消息,也可以被用来做单个队列多个消息接收者之间的负载均衡;
所述的“绑定”就是将一个特定的消息转发器和一个特定的队列绑定起来,程序中语句声明方法为:
channel.queueBind(Exchange, Queue, BindingKey);
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310006626.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种氧化铝载体及其制备方法和应用
- 下一篇:一种基于服务器层的安全加固策略