[发明专利]一种云环境下消息的转发方法在审
申请号: | 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)和 消息队列(5),其中:直接式转发器(1)是所有转发器的实现基础,负则消息的直接转发,其原则是:通过精确匹配消息的转发关键字,将消息转发到零个或者多个队列中,绑定关键字用来将队列和转发器绑定到一起,这样构建经典的点对点队列消息传输模型,当消息的转发关键字与多个绑定关键字匹配时,消息可能会被发送到多个队列中;广播式转发器(2)负则消息的广播发送,其原则是:不论消息的转发关键字是什么,这条消息都会被转发到所有与该转发器绑定的队列中,广播式转发器类型的工作方式为:不使用任何参数将消息队列与转发器绑定在一起, 当消息发送者向转发器发送一条消息时,消息被无条件的传递到所有和这个转发器绑定的消息队列中,完成消息转发;主题式转发器(3)负则消息的模式匹配转发,其原则是:通过消息的转发关键字和绑定关键字的模式匹配,将消息转发到被绑定的队列中,这种转发器类型被用来支持经典的发布/订阅消息传输模型,使用主题名字空间作为消息寻址模式,将消息转发给那些部分或者全部匹配主题模式的多个队列;消息头式转发器(4)的作用是负责消息的多重属性的转发,并且使用消息头比转发关键字更容易表述,消息头转发器器忽略转发关键字属性,取而代之的是,整个消息头属性被用于转发匹配,如果消息头的值与绑定队列指定的值相同,则此消息会被匹配并发送给相应的队列,消息头式转发器类似于主题式转发器,都是指出多个过滤条件,但是消息头转发器的条件是通过消息头来获取,而不同于转发关键字,是任何顺序,匹配方式是any或all,即匹配指定的消息头值的任何一个或者所有;消息队列(5)主要负责关联消息接收者,并储存消息转发器发送的消息,当消息转发器发送过来一条消息时,会将此消息储存在队列中,并通过消息接收者,当消息接收都将此消息从队列中取出时,消息队列会将此消息删除;具体转发步骤如下:在系结构中,所有消息转发器都先接受消息,然后将消息发送给匹配的消息队列,消息队列是一个缓冲区,它为一组消接收者应用程序保存消息,应用程序在其权限范围之内可以自由的创建、共享、使用和消费消息队列,消息队列提供了有限制的先进先出的保证,服务器会将从某一个消息发送者发出的同等优先级的消息,按照它们进入队列的顺序传递给某个消息接收者,只要用户或消息接收者拥有相应的权限,任何队列都可以被显式删除,消息队列将消息保存在内存、硬盘或者这两种介质的组合之中,消息队列保存消息,并将消息分发给一个或多个消息接收者,消息队列会跟踪消息的获取情况,消息要出队就必须被获取,然后再消费,获取和消费是两个动作,先执行获取,相当于对消息加锁,这就阻止了多个消息接收者同时获取和消费同一条消息,也可以被用来做单个队列多个消息接收者之间的负载均衡;所述的“绑定”就是将一个特定的消息转发器和一个特定的队列绑定起来,程序中语句声明方法为: channel.queueBind("Exchange", "Queue", "BindingKey"); 消息都有一个叫做转发关键字的属性,消息转发器要想将该消息转发给特定的队列,该队列与转发器的绑定关键字必须与消息的转发关键字相匹配才行;直接式转发器,当某个消息到直接式转发器时,如果他转发的关键字是orange,则他将被交付给消息队列1,如果他转发的关键字是black 或者是green,则他将被交付给队列消息队列2;所述的广播式转发器,不使用任何参数将消息队列与转发器绑定在一起,消息发送者向广播式转发器发送一条消息,消息被无条件的转发给所有和这个转发器绑定的消息队列中,送达广播式转发器的所有消息,将被送到所有和转发器绑定的队列上;所述的主题式转发器,其工作方式为: 绑定关键字用零个或多个标记构成,每一个标记之间用“.”字符分隔,绑定关键字必须用这种形式明确说明,并支持通配符:“*”匹配一个词组,“#”零个或多个词组,因此,绑定关键字“*.stock.#”匹配转发关键字“usd.stock”和“eur.stock.db”,但是不匹配“stock.nasdaq”, “*”可匹配任意一个单词,“#”可匹配任意多个关键字,包括 0 个,送到主题式转发器的消息,匹配了特定的转发关键字时,就能送达特定的队列,如果他转发的关键字是a.orange.b,则他将被交付给消息队列1,如果他转发的关键字是a.bc. black或者green.a.b,则他将被交付给消息队列2;如果消息头的值与绑定队列指定的值相同,则此消息会被匹配并发送给相应的队列,消息头式转发器类似于主题式转发器,都是指出多个过虑条件,但是消息头转发器的条件是通过消息头来获取,而不同于转发关键字,是任何顺序,匹配方式是any或all,也就是匹配指定的消息头值的任何一个或者所有,消息头式转发器将消息发送给消息队列1,那是因为“x‑match”的参数设置为了“any”,这就意味着消息头的条件中只要有一个条件匹配,就能将消息发送给该队列,当“x‑match”的参数设置为“all”时,意味着所有的消息头条件都要匹配,消息头式转发器被用于指向型消息,其特点是:只知道所有包含条件的一个子集,但顺序是不确定的,为复杂的条件类型提供一种方便的匹配形式。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310006626.9/,转载请声明来源钻瓜专利网。
- 上一篇:一种氧化铝载体及其制备方法和应用
- 下一篇:一种基于服务器层的安全加固策略