[发明专利]一种消息推送方法及装置在审
| 申请号: | 201810845443.9 | 申请日: | 2018-07-27 |
| 公开(公告)号: | CN110769018A | 公开(公告)日: | 2020-02-07 |
| 发明(设计)人: | 梁洪波 | 申请(专利权)人: | 北京国双科技有限公司 |
| 主分类号: | H04L29/08 | 分类号: | H04L29/08 |
| 代理公司: | 11227 北京集佳知识产权代理有限公司 | 代理人: | 王宝筠 |
| 地址: | 100080 北京市海淀区*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 发布 事件订阅 消息推送 队列 接收事件 存储 唯一标识符 关系确定 业务逻辑 开发 | ||
本发明提供的一种消息推送方法及装置,该方法包括:接收事件发布者发布的事件;获取Kafka队列中存储的发布的事件对应的消息,该消息为消息生产者向Kafka队列发布的消息,该消息包含对应事件的唯一标识符;根据所发布的事件以及所发布的事件与事件订阅者的对应关系确定发布的事件对应的事件订阅者;将获取的消息推送至发布的事件对应的事件订阅者。本发明在接收事件发布者发布的事件的同时,获取存储在Kafka队列中的消息生产者发布的消息;通过确定发布的事件对应的事件订阅者,将获取的消息推送至发布的事件对应的事件订阅者,使开发者能够更多的关注业务逻辑,不需要再为消息的获取耗费相应的时间。
技术领域
本发明涉及通信技术领域,更具体的,涉及一种消息推送方法及装置。
背景技术
由于企业商业环境不断变化,在新的企业应用中,各类应用系统要能够快速适应变化,必须是轻量级和碎片化的应用,应用架构必须支持并适应这种变化,也需要向互联网方向转变。随着互联网的发展,系统的操作不再是传统的记日志方式就能够满足,而是需要对每一步操作需要通知到相关人员,让相关人员第一时间知道,并快速处理相关任务,而轻量级与碎片化应用之间需要通过消息机制的异步调用,因此,各应用之间的消息推送功能在企业互联网应用中就显得尤为重要。
Kafka是一种分布式的,基于发布/订阅的消息,但根据Kafka的架构可以很清楚地看到Kafka目前主要是通过拉模式向业务系统拉取新消息,现有的Kafka中,若事件订阅者需要获取新消息,则需要通过轮询的方式进行,一般的流程如图1所示,在该流程中,由事件订阅者持续地发送请求获取Kafka中指定队列的消息,因此,在获取新消息时需要耗费相应的时间。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的消息推送方法及装置,以使开发者能够更多的去关注业务逻辑,不需要再为消息的获取耗费相应的时间。
具体技术方案如下:
一种消息推送方法,应用于事件总线,该方法包括:
接收事件发布者发布的事件;
获取Kafka队列中存储的所述发布的事件对应的消息,所述消息为消息生产者向所述Kafka队列发布的消息,所述消息包含对应事件的唯一标识符;并根据所发布的事件以及所发布的事件与事件订阅者的对应关系确定所述发布的事件对应的事件订阅者;
将获取的消息推送至所述发布的事件对应的事件订阅者。
进一步地,根据所发布的事件以及所发布的事件与事件订阅者的对应关系确定所述发布的事件对应的事件订阅者的步骤,包括:
对所述发布的事件进行解析,获取所述发布的事件的事件参数;
根据所述发布的事件的所述事件参数获取所述发布的事件的事件处理函数集合,所述事件处理函数集合中包含处理所述发布的事件的所有事件处理函数;
根据事件处理函数与事件订阅者的对应关系和所述事件对应的事件处理函数集合,得到所述发布的事件的事件处理函数集合对应的事件订阅者,即所述发布的事件对应的事件订阅者。
进一步地,,还包括:获取事件订阅者的注册信息,所述注册信息中包含该事件订阅者订阅的各事件的唯一标识符。
进一步地,,还包括:根据所述事件订阅者的注册信息对所述事件进行分类,得到各事件的事件处理函数集合。
进一步地,,所述根据所述事件订阅者的注册信息对所述事件进行分类,得到各事件的事件处理函数集合的步骤,包括:
根据所述事件订阅者的注册信息获取订阅事件的事件处理函数,并生成所述事件订阅者的事件方法集合,所述事件方法集合中包含所述事件订阅者所有订阅事件的事件处理函数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京国双科技有限公司,未经北京国双科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810845443.9/2.html,转载请声明来源钻瓜专利网。





