[发明专利]一种消息传递系统有效
申请号: | 201811386086.0 | 申请日: | 2018-11-20 |
公开(公告)号: | CN109451032B | 公开(公告)日: | 2021-11-23 |
发明(设计)人: | 李京贤;王天才;周建 | 申请(专利权)人: | 上海联寓智能科技有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 胡彬 |
地址: | 200444 上海市宝*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 消息 传递 系统 | ||
本发明公开了一种消息传递系统,包括:消息平台、数据库和消息中间件,所述消息平台分别与消息订阅端和消息发送端连接,所述消息平台还分别与所述数据库和所述消息中间件连接,所述消息发送端用于将发送请求发送给所述消息平台,所述消息平台基于所述发送请求生成发送消息,并根据所述发送请求的时序,将对应的发送消息存储到数据库,并将所述发送消息发送给所述消息中间件,所述消息订阅端用于发送订阅请求给所述消息平台,与传统的消息传递技术相比,本发明的技术方案基于发送请求的时序完成发送消息的存储与发送,避免了发送过程中消息的丢失,保证了消息的完整性和一致性,提高了系统的性能。
技术领域
本发明实施例涉及数据通信技术领域,尤其涉及一种消息传递系统。
背景技术
传统的消息传递只能从应用端将消息发送到接受端,当接受端宕机或出现错误而不再接受消息时,会造成消息的丢失。为了避免这种情况的发生可采用消息中间件(Message Oriented Middleware,MOM),消息中间件可以在不同平台之间通信,常被用来屏蔽掉各种平台及协议之间的特性,实现应用程序之间的协同。
传统的消息中间件大多采用同步调用完成消息的传递,而同步调用需要系统同步处理大量业务逻辑,导致用户请求慢、体验差,而且当系统接收到来自大量用户的请求时会对整个系统带来巨大的压力,甚至可能导致服务宕机或整个系统瘫痪。此外,大型互联网分布式系统存在多个服务,若采用这种传统的消息中间件,每个服务都需要提供生产者和消费者,这就使得整个分布式系统非常复杂繁琐。
发明内容
本发明实施例提供一种消息传递系统,基于发送请求的时序完成发送消息的存储与发送,避免发送过程中消息的丢失,保证消息的完整性和一致性,提高系统的性能。
本发明实施例提供一种消息传递系统,包括:消息平台、数据库和消息中间件;
所述消息平台分别与消息订阅端和消息发送端连接,所述消息平台还分别与所述数据库和所述消息中间件连接,
所述消息发送端用于将发送请求发送给所述消息平台,所述消息平台基于所述发送请求生成发送消息,并根据所述发送请求的时序,将对应的发送消息存储到所述数据库,并将所述发送消息发送给所述消息中间件,所述消息订阅端用于发送订阅请求给所述消息平台。
进一步的,所述发送消息包括事务消息和非事务消息,相应的,
当所述发送消息为事务消息时,所述消息平台用于将所述消息发送端确认后的发送消息发送给所述消息中间件;
当所述发送消息为非事务消息时,所述消息平台用于将所述发送消息直接发送给所述消息中间件。
进一步的,所述消息平台还用于接收所述消息订阅端发送的订阅请求,并对所述订阅请求进行解析。
进一步的,所述消息中间件还用于发送订阅消息给所述消息平台,所述订阅消息为所述消息中间件中存储的与解析结果对应的消息。
进一步的,所述消息平台还用于将所述订阅消息发送给所述消息订阅端。
进一步的,所述消息平台还用于当发送给所述消息中间件的发送消息或发送给所述消息订阅端的订阅消息发送失败时,根据预设的消息重试策略重新发送所述发送消息或所述订阅消息。
进一步的,所述消息平台还用于根据所述发送消息的编号对所述发送消息进行幂等处理。
进一步的,所述消息平台还用于根据所述订阅消息的编号对所述订阅消息进行幂等处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海联寓智能科技有限公司,未经上海联寓智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811386086.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种数据处理方法、计算节点及云计算系统
- 下一篇:一种数据处理系统及方法