[发明专利]一种处理消息的方法、装置、计算机设备及存储介质在审
申请号: | 202111521243.6 | 申请日: | 2021-12-13 |
公开(公告)号: | CN114168368A | 公开(公告)日: | 2022-03-11 |
发明(设计)人: | 卢俊杰 | 申请(专利权)人: | 平安养老保险股份有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/50 |
代理公司: | 北京英特普罗知识产权代理有限公司 11015 | 代理人: | 邵煜程 |
地址: | 200120 上海市浦东新区自由*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 处理 消息 方法 装置 计算机 设备 存储 介质 | ||
本发明公开了一种处理消息的方法、装置、计算机设备及存储介质,所述方法包括:从消息中间件的消费者端获取所有订阅表达式;分别获取每个订阅表达式的分组属性信息;将具有相同分组属性信息的订阅表达式聚类到一个订阅分组中,并分别为每个订阅分组设置对应的分组属性信息和守护线程;接收来自所述生产者端的目标消息,并根据所述目标消息的属性信息和各个订阅分组的分组属性信息确定出与所述目标消息相匹配的目标订阅分组;将所述目标消息发送至与所述目标订阅分组对应的目标守护线程,以通过所述目标守护线程处理所述目标消息;本发明提高了消息队列对生产者端生产的消息的分发速度,还减少了守护线程的数量,节约了线程资源。
技术领域
本发明涉及研发过程优化技术领域,特别涉及一种处理消息的方法、装置、计算机设备及存储介质。
背景技术
在现有的消费模型中,消息中间件的消费者列表中存在多个消费者实例,且一个消费者实例可以包含多条订阅表达式,以满足消费者对各种类型的消息进行订阅。在开发过程中,技术人员需要为每条订阅表达式配置一条守护线程,用于获取生产者生产的消息中符合目标订阅表达式的消息,但只需要为一个消费者实例配置一条工作线程,用于对接收的消息进行实例化操作。当守护线程接收到一条符合目标订阅表达式的消息时,通知工作线程对接收到的消息进行实例化操作,此时只有目标订阅表达式对应的守护线程在执行守护该工作线程的操作,而该消费者实例中的其它订阅表达式的守护线程属于闲置状态,这样导致了大量线程资源的浪费。因此,在现有技术中存在处理生产者端生产的消息时浪费守护线程资源的技术问题。
发明内容
本发明的目的在于提供一种处理消息的方法、装置、计算机设备及存储介质,能够提高消息队列对生产者端生产的消息的分发速度,减少守护线程的数量,节约线程资源。
根据本发明的一个方面,提供了一种处理消息的方法,该方法包括如下步骤:
从消息中间件的消费者端获取所有订阅表达式;其中,所述订阅表达式用于订阅由所述消息中间件的生产者端生产的消息;
分别获取每个订阅表达式的分组属性信息;其中,所述分组属性信息包括:订阅消息的主题、订阅消息的传播形式、表达式类型;
将具有相同分组属性信息的订阅表达式聚类到一个订阅分组中,并分别为每个订阅分组设置对应的分组属性信息和守护线程;
接收来自所述生产者端的目标消息,并根据所述目标消息的属性信息和各个订阅分组的分组属性信息确定出与所述目标消息相匹配的目标订阅分组;
将所述目标消息发送至与所述目标订阅分组对应的目标守护线程,以通过所述目标守护线程处理所述目标消息。
可选的,所述将具有相同分组属性信息的订阅表达式聚类到一个订阅分组中,具体包括:
将表达式类型为规则表达式以及订阅消息的传播形式为单播形式的订阅表达式聚类到第一集合中;
将表达式类型为规则表达式以及订阅消息的传播形式为广播形式的订阅表达式聚类到第二集合中;
将表达式类型为标签以及订阅消息的传播形式为单播形式的订阅表达式聚类到第三集合中;
将订阅表达式类型为标签以及订阅消息的传播形式为广播形式的订阅表达式聚类到第四集合中;
分别在每个集合中,将订阅消息的主题相同的订阅表达式聚类到对应集合的一个订阅分组中。
可选的,所述接收来自所述生产者端的目标消息,并根据所述目标消息的属性信息和各个订阅分组的分组属性信息确定出与所述目标消息相匹配的目标订阅分组,具体包括:
从所述目标消息的属性信息中解析出消息主题、消息传播形式和类型信息;其中,所述类型信息为标签或规则表达式;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安养老保险股份有限公司,未经平安养老保险股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111521243.6/2.html,转载请声明来源钻瓜专利网。