[发明专利]一种增加消息队列模型的发布/订阅系统及其工作方法有效
申请号: | 201410346381.9 | 申请日: | 2014-07-21 |
公开(公告)号: | CN104092767B | 公开(公告)日: | 2017-06-13 |
发明(设计)人: | 崔毅东;雷友珣;黄瑞情;漆涛;赵晖;谢轶;杨振崧;金跃辉;陈莉萍 | 申请(专利权)人: | 北京邮电大学 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 北京德琦知识产权代理有限公司11018 | 代理人: | 夏宪富 |
地址: | 100876 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种增加消息队列模型的发布/订阅系统及其工作方法,该系统包括分布式消息中间件服务端集群、客户端集群和分布式协调服务器集群,其中消息中间件服务端集群中的服务节点仍由原发布/订阅系统相应模块组成,且其功能与信息传递关系相同;客户端同时设有发布/订阅和消息队列两种模型的调用接口,以供用户在使用消息中间件时,能够不更换底层消息中间件就直接选择使用两种不同消息传递模型,故该客户端在原架构基础上又增设协调服务模块和消息处理模块。本发明系统同时支持发布/订阅和消息队列两种消息传递模型,且同时保证两种模型的可用性、伸缩性和其他性能都在可接受范围内,较好地解决了用户变换底层消息传递模型比较困难的问题。 | ||
搜索关键词: | 一种 增加 消息 队列 模型 发布 订阅 系统 及其 工作 方法 | ||
【主权项】:
一种增加消息队列模型的发布/订阅系统,包括由多个服务节点组成的分布式消息中间件服务端集群和由众多终端组成的客户端集群,所述分布式消息中间件服务端集群中的服务节点仍然由原发布/订阅系统的相应模块所组成,且各模块功能与信息传递关系保持不变;其特征在于:所述系统还增设有分布式协调服务器集群,由该分布式协调服务器集群提供的分布式协调服务对该系统中的客户端集群进行协调管理;且该系统是在基于主题的发布/订阅系统中增添消息队列模型而构成的,其中的客户端同时设有发布/订阅模型和消息队列模型的两种调用接口,以供用户在使用消息中间件时,能够不更换底层消息中间件就调用两种不同接口,直接选择使用发布/订阅或消息队列两种不同的消息传递模型;故该系统客户端既是发布/订阅模型中消息的发布者和订阅者:负责向服务端中设定主题发送消息和接收来自服务端中已订阅主题的新消息;又是消息队列模型中队列消息的生产者和消费者:负责向服务端中设定队列发送消息和接收来自服务端中已绑定队列的新消息;该客户端设有下述六个功能模块:数据通信模块,作为客户端的最底层模块,负责接收所有来自服务端的处理响应或消息数据,并传送给响应处理模块;同时将所有来自客户端的请求或消息数据发送至网络,以供传送给服务端;响应处理模块,负责处理来自数据通信模块的、包括服务端对客户端发布请求和订阅请求的处理响应,以及服务端发送给订阅者或消费者的主题或队列消息,并传送给相应模块:若是请求的处理响应,则传送给发布/订阅接口模块;若是主题或队列的消息,则传送给消息处理模块;发布/订阅接口模块,用作用户发布消息和订阅主题的交互接口,将发布请求和订阅请求经由数据通信模块传送到服务端;设有消息发布者和消息订阅者两个接口单元:消息发布者接口单元用于将消息发布到设定主题,并生成发布请求,消息订阅者接口单元用于订阅用户感兴趣的主题消息,并生成订阅请求;消息队列接口模块,用作用户发送和接收队列消息的交互接口,将发送请求和接收请求经由发布/订阅接口模块传递到数据通信模块,再传送到服务端;设有队列生产者和队列消费者两个接口单元:队列生产者接口单元用于发送消息到设定队列,并生成发送请求和调用发布/订阅接口模块的发布者单元,将发送请求封装成发布请求后,传递给数据通信模块;队列消费者接口单元负责绑定用户要求消费的队列,并生成接收请求和调用发布/订阅接口模块的订阅者单元,将接收请求封装成订阅请求传递给数据通信模块;协调服务模块,设有锁管理单元和队列指针单元,其中的锁管理单元负责为用户绑定的每个队列维护其队列锁,队列指针单元负责为用户绑定的每个队列维护其队列指针;且该队列锁和队列指针将根据消息处理模块的消息消费单元传递来的信息进行及时更新;消息处理模块,负责接收与消费来自服务端的主题或队列的消息,并对已消费消息向服务端返回确认信号;设有三个功能单元:消息缓存单元负责将响应处理模块发送来的主题或队列消息进行缓存,直到该消息被消费时被取出;消息确认单元负责对已消费的主题或队列消息向服务端返回确认信号;消息消费单元负责消息的消费管理:在发布/订阅模型中,用户消费时从消息缓存单元直接提取主题消息;而在消息队列模型中,用户消费每条消息时,需要先从协调服务模块的锁管理单元获取队列锁,再从队列指针单元获取队列指针后,才能从消息缓存单元中提取该条队列消息;且在每条队列消息被消费结束后,负责将队列锁释放给锁管理单元和更新队列指针单元中的队列指针。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京邮电大学,未经北京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410346381.9/,转载请声明来源钻瓜专利网。