[发明专利]一种消息分发的方法和装置在审
申请号: | 201610068734.2 | 申请日: | 2016-02-01 |
公开(公告)号: | CN105677494A | 公开(公告)日: | 2016-06-15 |
发明(设计)人: | 许文靖 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;姜劲 |
地址: | 100080 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 消息 分发 方法 装置 | ||
技术领域
本发明涉及计算机及其软件技术领域,特别地涉及一种消息分发 的方法和装置。
背景技术
消息系统在计算机应用系统中应用非常广泛,在隔离系统变化, 减少系统耦合,提高处理效率具有不可替代的作用。消息系统主要包 括消息生产者、消息消费者以及传递消息的传输系统三部分,其中, 消息生产者负责生成消息,并通过传输系统发送给消息消费者;消息 消费者负责从传输系统读取消息并进行业务处理;传输系统负责从消 息生产者读取消息,并把消息发送给消息消费者。
评估传输系统的优劣通常采用三个技术标准,即:传输时效、传 输可靠性以及传输性能。传输时效是指从消息生产者发出消息到消息 消费者收到消息之间的时间间隔,用于评价传输系统的及时性;传输 可靠性用于评价传输系统传递消息的准确程度,即消息消费者端收到 的消息和消息生产者发出的消息的顺序和内容是否一致,是否有消息 丢失,消息重复或消息报文损坏等;传输性能是指在指定资源条件下 的最大消息吞吐量,用于评价传输系统的消息传递能力。
传统IT系统消息规模较小,而且系统与系统之间通常是在内网环 境,网络延迟较小,因此设计的传输系统侧重于高可靠和低延时的传 输系统。
其中,高可靠的消息分发系统如图1所示,其主要通过消息生产 端重发,传输系统端消息持久化以及消息消费端消息重发三个控制环 节保障信息的高可靠性。其消息分发的高可靠性具体体现在:
消息生产端重发:消息生产者发送消息Msg_N给传输系统,传输 系统写入消息日志,返回Ack_P消息给消息生产者,表明消息已经可 靠投递到传输系统。如果客户端在预定时间内没有收到Ack_P消息, 则认为该消息没有发送成功,消息生产者会重发该消息,直到收到发 送成功的Ack_P消息;
消息持久化:传输系统收到消息Msg_N以后,把Msg_N写入日志 系统,并返回Ack_P消息给消息生产者。然后转发该消息给消息消费 者,等收到消息消费者的Ack_R消息以后,在日志系统中把Msg_N置 为“发送成功”;
消息消费端重发:当传输系统发送Msg_N失败,或没有收到消息 消费端发来的Ack_R消息时,传输系统会重发Msg_N,直到成功收到消 息消费端发来的Ack_R消息。
低延时的消息分发系统如图2所示,其不同于高可靠的消息分发 系统,其不是把消息通过传输系统中转,而是直接把消息发送给消息 消费者,传输系统的作用更多是作为一个注册中心,用于记录消息生 产者的服务地址。低延时的消息分发系统的消息处理步骤主要包括:
消息生产者注册消息服务地址SM_ADDR到传输系统;
消息消费者通过传输系统查询消息服务地址SM_ADDR;
消息消费者根据SM_ADDR,创建和消息生产者之间的传输通道;
消息生产者通过传输通道发送Msg_N给消息消费者,消息消费者 反馈Ack消息给消息生产者;
如果消息生产者发送失败或者等待Ack消息超时,则消息生产者 会快速显示失败,提示发送不成功。
上述高可靠的消息分发系统和低延时的消息分发系统在进行消息 分发时都存在各自的缺点,主要表现在:高可靠的消息分发系统增加 了消息中转和持久化日志环节,处理环节多;而且整体的处理能力受 限于传输系统的容量,效率较低;而低延时的消息分发系统虽然不受 限于传输系统的容量,但每个消息都要发送一次,对于要发送大量短 消息(例如小于1518byte,一个以太网帧最大长度)的场景,增加了不 必要的网络开销。
可见,现有的消息分发系统在处理性能和消息吞吐量上都存在一 定缺陷,而随着互联网应用中消息规模的迅猛增长,系统所依赖的组 网技术越来越复杂,网络质量难以预测,信息异构日趋多元,对信息 的可靠性要求有所降低。为了满足这类场景的应用,本发明提出一种 消息分发系统,其能实现海量信息的高效传输,既不受限于传输系统 的容量,又可避免不必要的网络开销。
发明内容
有鉴于此,本发明提供一种消息分发的方法和装置,能够优先保 障传输性能,在有限的网络带宽约束下适当权衡可靠性和时效性,保 障最大信息吞吐量,提供海量信息下最大限度的传输效率,满足高负 荷场景下的消息分发需求。
为实现上述目的,根据本发明的一个方面,提供了一种消息分发 的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610068734.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种空气滤材使用智能监测软件系统
- 下一篇:一种切换应用程序的方法和装置