[发明专利]一种ACTIVEMQ消费者处理消息的动态平衡协调方法及协调系统在审
| 申请号: | 202310159572.3 | 申请日: | 2023-02-23 |
| 公开(公告)号: | CN116346915A | 公开(公告)日: | 2023-06-27 |
| 发明(设计)人: | 温桂龙;王柏涛;吴云星;陆锦伟;赵炎 | 申请(专利权)人: | 珠海派诺科技股份有限公司 |
| 主分类号: | H04L67/566 | 分类号: | H04L67/566;H04L47/62 |
| 代理公司: | 广州市越秀区哲力专利商标事务所(普通合伙) 44288 | 代理人: | 舒剑晖 |
| 地址: | 519085 广东省珠海市高新*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 activemq 消费者 处理 消息 动态平衡 协调 方法 系统 | ||
1.一种ACTIVEMQ消费者处理消息的动态平衡协调方法,其特征在于,包括:
若消费者组内存在有多个消费者,将Redis数据库中指定消息队列的所有分区按照所述消费者的数量进行平均分配,以获得所述消费者组内每一消费者对象的订阅分区;
将所述消费者对象及对应的所述订阅分区存储至所述Redis数据库中。
2.根据权利要求1所述的方法,其特征在于,所述将所述消费者对象及对应的所述订阅分区存储至所述Redis数据库中之后,所述方法还包括:
在任一所述消费者对象的进程发生异常时,检测异常消费者对象内是否存在有订阅分区;若是,将异常消费者对象订阅分区按照所述消费者组内正常消费者对象的数量进行平均分配,以获得所述正常消费者对象的新订阅分区;
将所述Redis数据库中的所述消费者对象及对应的所述订阅分区进行注销,并将所述正常消费者对象及对应的所述新订阅分区存储至所述Redis数据库中。
3.根据权利要求2所述的方法,其特征在于,所述在任一所述消费者对象的进程发生异常时,检测异常消费者对象内是否存在有订阅分区之后,以及所述将异常消费者对象订阅分区按照正常消费者对象的数量进行平均分配,以获得所述正常消费者对象的新订阅分区之前,所述方法还包括:
若检测出所述异常消费者对象内存在有所述订阅分区时,检测每一所述正常消费者对象内的订阅分区数量是否小于所述指定消息队列的所有分区数量除以所述正常消费者对象的数量的商值;
若是,将所述正常消费者对象的订阅分区状态变更为待分配状态;
执行将异常消费者对象订阅分区按照所述消费者组内正常消费者对象的数量进行平均分配,以获得所述正常消费者对象的新订阅分区的操作;
以及,所述将所述Redis数据库中的所述消费者对象及对应的所述订阅分区进行注销,并将所述正常消费者对象及对应的所述新订阅分区存储至所述Redis数据库中之后,所述方法还包括:
将所述正常消费者对象的订阅分区状态变更为已分配状态。
4.根据权利要求2所述的方法,其特征在于,所述将异常消费者对象订阅分区按照所述消费者组内正常消费者对象的数量进行平均分配,以获得所述正常消费者对象的新订阅分区,包括:
将所述异常消费者对象订阅分区存储至待分配分区列表中;
利用所述指定消息队列的所有分区数量除以所述正常消费者对象的数量的商值逐一减去每一所述正常消费者对象内的订阅分区数量,计算出每一所述正常消费者所需的再分配订阅分区数量;
将所述待分配分区列表中的待分配分区按照所述再分配订阅分区数量进行分配,以获得所述正常消费者对象的新订阅分区。
5.根据权利要求1~4任一项所述的方法,其特征在于,所述将Redis数据库中指定消息队列的所有分区按照所述消费者的数量进行平均分配,以获得所述消费者组内每一消费者对象的订阅分区之前,所述方法还包括:
配置出所述指定消息队列所需的队列分区数量;
获取所述指定消息队列中每一待分配数据的业务标识信息;
将所述业务标识信息除以所述队列分区数量,以确定出所述待分配数据对应分配的分区位置信息。
6.根据权利要求5所述的方法,其特征在于,所述将所述业务标识信息除以所述队列分区数量,以确定出所述待分配数据对应分配的分区位置信息之后,以及所述将Redis数据库中指定消息队列的所有分区按照所述消费者的数量进行平均分配,以获得所述消费者组内每一消费者对象的订阅分区之前,所述方法还包括:
若所述消费者组内存在有多个所述消费者,检测所述指定消息队列的所有分区是否能按照所述消费者的数量进行平均分配;若否,按照所述消费者对象的权重比,将所述指定消息队列的所有分区除以所述消费者的数量的余数进行分配;和/或,按照所述消费者由大到小的排序方式,将所述指定消息队列的所有分区除以所述消费者的数量的余数进行分配。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海派诺科技股份有限公司,未经珠海派诺科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310159572.3/1.html,转载请声明来源钻瓜专利网。





