[发明专利]基于消息队列的处理方法和消息队列在审
| 申请号: | 201811137170.9 | 申请日: | 2018-09-28 |
| 公开(公告)号: | CN110968430A | 公开(公告)日: | 2020-04-07 |
| 发明(设计)人: | 方琪 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
| 主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F16/242;G06F16/28 |
| 代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;张效荣 |
| 地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 消息 队列 处理 方法 | ||
本发明公开了一种基于消息队列的处理方法和消息队列,涉及计算机技术领域。其中,所述方法包括:对唯一消费者应用的状态进行监测;对消息存储区存储的同一主题下的消息总量进行监测;在监测到所述唯一消费者应用为异常状态,和/或,所述消息总量大于等于预设阈值的情况下,向唯一生产者应用发送暂停生产的通知,以使所述唯一生产者应用暂停消息的生产;其中,所述唯一生产者应用与所述唯一消费者应用隶属于同一主题。通过以上方法,不仅能够满足实际生活中对一对一的发布‑订阅模式的场景需求,而且能够有效解决消息在生产侧或消费侧大量积压的问题,进而有助于提高唯一生产者应用、唯一消费者应用的性能。
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于消息队列的处理方法和消息队列。
背景技术
在互联网和软件领域,消息队列已经成为一种常用的技术手段。消息队列的底层设计原理是“生产者-消费者”模式。消息的来源是生产者应用,生产者应用(或称为生产者程序)源源不断的生产消息并将生产的消息放入消息队列,消费者应用(或称为消费者程序)则从消息队列中获取消息进行消费。目前,消费者应用获取消息的方式主要有“推送”和“拉取”两种方式。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
第一、现有的消息队列,都是一对多的发布-订阅模式(即一个生产者应用对应多个消费者应用的模式)。然而,在现实情况中,有很多应用场景需要消息队列满足一对一的发布-订阅模式(即一个生产者应用对应一个消费者应用的模式)。显然,现有的消息队列并不能满足这些场景需求。
第二、在现有的消息队列中,当由于消费者应用出现异常等原因导致消息不能正常消费时,生产者应用还在源源不断地生产消息,很可能导致大量消息的积压。如果采用拉取模式获取消息,一般大量消息会在生产侧积压,进而可能影响生产者应用的性能;如果采用推送模式获取消息,一般大量消息会在消费侧积压,进而可能影响消费者应用的性能。
发明内容
有鉴于此,本发明提供一种基于消息队列的处理方法和消息队列,不仅能够满足实际生活中对一对一的发布-订阅模式的场景需求,而且能够有效解决消息在生产侧或消费侧大量积压的问题,进而有助于提高唯一生产者应用、唯一消费者应用的性能。
为实现上述目的,根据本发明的一个方面,提供了一种基于消息队列的处理方法,所述消息队列包括消息存储区。
本发明的基于消息队列的处理方法包括:对唯一消费者应用的状态进行监测;对消息存储区存储的同一主题下的消息总量进行监测;在监测到所述唯一消费者应用为异常状态,和/或,所述消息总量大于等于预设阈值的情况下,向唯一生产者应用发送暂停生产的通知,以使所述唯一生产者应用暂停消息的生产;其中,所述唯一生产者应用与所述唯一消费者应用隶属于同一主题。
可选地,所述方法还包括:在所述向唯一生产者应用发送暂停生产的通知,以使所述唯一生产者应用暂停消息的生产的步骤之后,若监测到所述唯一消费者应用恢复正常状态且所述消息总量小于预设阈值,则向所述唯一生产者应用发送恢复生产的通知,以使所述唯一生产者应用恢复消息的生产。
可选地,所述方法还包括:对唯一生产者应用和唯一消费者应用进行注册,以对注册后的唯一消费者应用执行所述对唯一消费者应用的状态进行监测的步骤,以及对注册后的唯一生产者应用执行所述向唯一生产者应用发送暂停生产的通知的步骤。
可选地,对唯一生产者应用进行注册的步骤包括:在接收到生产者应用的注册请求后,根据所述注册请求携带的主题名称查询数据库;在数据库不存在隶属于所述主题的生产者注册信息的情况下,向所述数据库写入生产者注册信息,并向所述生产者应用返回注册成功的信息;对唯一消费者应用进行注册的步骤包括:在接收到消费者应用的注册请求后,根据所述注册请求携带的主题名称查询数据库;在数据库存在隶属于所述主题的生产者注册信息、且不存在隶属于所述主题的消费者注册信息的情况下,向所述数据库写入消费者注册信息,并向所述消费者应用返回注册成功的信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811137170.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:银饰加工工艺
- 下一篇:芯片测试方法、装置、设备与系统





