一种基于容器的消息队列总线管理系统及方法

文档序号:9865299阅读:331来源:国知局
一种基于容器的消息队列总线管理系统及方法
【技术领域】
[0001]本发明涉及容器应用虚拟化技术相关领域,尤其涉及一种基于容器的消息队列总线管理系统及方法。
【背景技术】
[0002]MSMQ(消息队列服务)可以为客户端计算机提供消息队列、路由选择和目录服务。消息队列服务器可以用于:为独立客户提供消息路由选择和会话集中;在通过路由链接的站点之间提供消息路由选择;创建队列并存储用于从属客户的消息。在传统的消息队列服务中,由于消息队列过大,经常会出现消息队列阻塞的情况,造成消息传递失败。如图1所示的传统的MSMQ消息队列结构,通常消息队列做法使用Queue作为消息载体,由Exchange消息队列交换机来负责Queue的路由绑定和通道选择,Broker负责总体调度,当数据量过大时,压力就会出现在Broker和Exchange的部分,而且所有的Vhost共用一个消息生产者Producer,一旦有一个Vhost的消息阻塞了消息生产者Producer,其他Vhost也无法使用消息生产者,整个消息队列通道就将无法使用。

【发明内容】

[0003]为了解决上述问题,本发明提供一种利用容器的快速部署和扩展能力来提高消息队列的并发处理能力、避免消息队列阻塞的基于容器的消息队列总线管理系统及方法。
[0004]本发明的一种基于容器的消息队列总线管理系统,包括Broker消息队列服务实体,所述基于容器的消息队列总线管理系统包括与所述Broker消息队列服务实体相连的接收消息队列并对消息队列进行重新封装和改造处理得到包含消息队列数据的报文的消息生产者容器、包含消息队列数据的报文模块、接收报文信息并根据自身响应类型选择性回应处理的消息消费者容器。
[0005]—种基于容器的消息队列总线管理方法,通过基于容器的消息队列总线管理系统来实现,包括如下步骤:
[0006]sl、创建包含消息生产者的消息生产者容器和包含消息消费者的消息消费者容器,进入步骤s2;
[0007 ] s 2、通过所述消息生产者获取消息内容,进入步骤s 3 ;
[0008]s3、通过所述消息生产者容器解码消息内容,并对报文内容进行封装和改造,生产APR响应列表及队列呼叫报文,进入步骤s4;
[0009]s4、消息生产者容器发送ARP报文给消息消费者容器,进入步骤s5;
[0010]s5、所述消息消费者容器解码ARP报文,进入步骤s6;
[0011]S6、所述消息消费者容器判断自身响应类型是否与ARP报文类型匹配,若匹配,进入步骤s8,若不匹配,进入步骤s7;
[0012]s7、所述消息消费者容器不回应报文;
[0013]s8、所述消息消费者容器回应消息生产者,进入步骤s9;
[0014]s9、消息生产者确定消息消费者的回应,获取消息消费者回应的APR对应端口的MAC地址,发送呼叫队列报文给发出回应的消息消费者,进入步骤slO;
[0015]slO、消息消费者处理报文中的消息内容,进入步骤sll;
[0016]sll、返回处理结果。
[0017]本发明通过容器利用容器的快速部署和扩展能力来提高消息队列的并发处理能力、避免消息队列阻塞,即使一个容器出现问题,不会影响其他容器的正常工作,容器之间相互独立,互不影响。
【附图说明】
[0018]图1是现有技术下传统的MSMQ消息队列结构示意图;
[0019]图2是本发明的基于容器的消息队列总线管理系统结构示意图;
[0020]图3是本发明的基于容器的消息队列总线管理系统的报文结构示意图;
[0021]图4是本发明的基于容器的消息队列总线管理系统的报文响应头结构示意图;
[0022]图5是本发明的基于容器的消息队列总线管理方法流程示意图。
【具体实施方式】
[0023]为了更好的理解本发明,下面结合附图详细说明本发明。
[0024]如图2所示,本发明的一种基于容器的消息队列总线管理系统,包括Broker消息队列服务实体,其特征在于,所述基于容器的消息队列总线管理系统包括与所述Broker消息队列服务实体相连的接收消息队列并对消息队列进行重新封装和改造处理得到包含消息队列数据的报文的消息生产者容器、包含消息队列数据的报文模块、接收报文信息并根据自身响应类型选择性回应处理的消息消费者容器。
[0025]优选地,所述消息生产者容器包括仅服务于本消息生产者容器的消息生产者Producer、用于实现所述消息生产者容器跨物理设备处理通信的一类虚拟交换机0VS、对接收到的消息队列进行封装和改造处理的队列报文封装器。
[0026]优选地,所述消息消费者容器包括仅服务于本消息生产者容器的消息消费者consumer、用于实现所述消息消费者容器跨物理设备处理通信的二类虚拟交换机0VS、解码接收到的报文信息的队列报文解析器。
[0027]优选地,如图3所示,所述报文模块包括APR响应列表以及队列呼叫报文;所述ARP响应列表包括类型响应头以及Port MAC表;所述队列呼叫报文包括与所述ARP响应列表中的类型响应头一致匹配的类型响应头、包含消息队列信息的队列数据、报文正文以及接收消息队列处理结果的回调处理内容空间。
[0028]优选地,如图4所示,所述类型响应头包括类型标示位以及消息类型优先级。
[0029]所述消息队列总线管理系统包括若干个相互独立的消息生产者容器和消息消费者容器。
[0030]如图5所示,一种基于容器的消息队列总线管理方法,其特征在于,所述基于容器的消息队列总线管理方法通过基于容器的消息队列总线管理系统来实现,包括如下步骤:
[0031]S1、创建包含消息生产者的消息生产者容器和包含消息消费者的消息消费者容器,进入步骤s2;
[0032]s2、通过所述消息生产者获取消息内容,进入步骤s3;
[0033]s3、通过所述消息生产者容器解码消息内容,并对报文内容进行封装和改造,生产APR响应列表及队列呼叫报文,进入步骤s4;
[0034]s4、消息生产者容器发送ARP报文给消息消费者容器,进入步骤s5;
[0035]s5、所述消息消费者容器解码ARP报文,进入步骤s6;
[0036]s6、所述消息消费者容器判断自身响应类型是否与ARP报文类型匹配,若匹配,进入步骤s8,若不匹配,进入步骤s7;
[0037]s7、所述消息消费者容器不回应报文;
[0038]s8、所述消息消费者容器回应消息生产者,进入步骤s9;
[0039]s9、消息生产者确定消息消费者的回应,获取消息消费者回应的APR对应端口的MAC地址,发送呼叫队列报文给发出回应的消息消费者,进入步骤slO;
[0040]slO、消息消费者处理报文中的消息内容,进入步骤sll;
[0041 ] sll、返回处理结果。
[0042]优选地,创建的所述消息生产者容器包括仅服务于本消息生产者容器的消息生产者Producer、用于实现所述消息生产者容器跨物理设备处理通信的一类虚拟交换机OVSji接收到的消息队列进行封装和改造处理的队列报文封装器。
[0043]优选地,创建的所述消息消费者容器包括仅服务于本消息生产者容器的消息消费者consumer、用于实现所述消息消费者容器跨物理设备处理通信的二类虚拟交换机0VS、解码接收到的报文信息的队列报文解析器。
[0044]优选地,所述ARP响应列表包括类型响应头以及Port MAC表;所述队列呼叫报文包括与所述ARP响应列表中的类型响应头一致匹配的类型响应头、包含消息队列信息的队列数据、报文正文以及接收消息队
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1