[发明专利]一种消息处理方法和装置在审
申请号: | 201810144874.2 | 申请日: | 2018-02-12 |
公开(公告)号: | CN110162410A | 公开(公告)日: | 2019-08-23 |
发明(设计)人: | 林德强;丁俊 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;杨晓伟 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分区 分段 消息中间件 获取请求 存储位置信息 方法和装置 消息处理 消息类型 计算机技术领域 并行处理 分区保存 请求获取 消息传递 消息使用 时延 取出 查找 输出 | ||
本发明公开了一种消息处理方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:消息中间件根据收到的获取请求,查找出与所述获取请求的消息类型相同的分区;其中,所述获取请求包括使用方标识和所请求获取的消息类型,所述分区保存有消息的存储位置信息;所述消息中间件根据所述分区的消费位置信息,从所述分区中选取出一个分段;其中,所述分区包括至少一个所述分段;所述消息中间件根据所述使用方标识和所述存储位置信息,将与所述分段相对应的消息输出至消息使用方。该实施方式通过将每个分区进行分段,不同分段之间并行处理消息,在不增加分区数量的情况下,使得处理的消息数量翻倍,降低了消息传递时延。
技术领域
本发明涉及计算机领域,尤其涉及一种消息处理方法和装置。
背景技术
目前在不同应用之间进行数据交互,为了达到应用解耦等目的,会引入一个消息中间件。假设在甲机房部署一个应用A,作为消息生成方;在乙机房部署一个应用B,作为消息使用方。消息生成方把生成的消息发送到消息中间件的Broker(Broker是接收、保存、分发消息的应用,作为消息处理的代理端)中暂存起来;消息使用方从Broker中获取消息,之后执行相应的业务逻辑。上述消息处理过程中,一方面消息生成方要求要能快速可靠的将消息发送至Broker并存储,另一方面消息使用方又要求能以最快的速度将消息从Broker中拉取然后进行消费。因此,不管是发送消息慢还是拉取消息慢,都会造成消息传递的延时。
现有技术通过ROKETMQ(是一款分布式的消息中间件,仅有发布订阅这一种模式)进行消息处理,其提供了单个日志文件(Journal)同步写入、多分区(Partition)异步索引的功能。单个日志文件的同步写入,保证消息生成方发送的消息能快速可靠的写入Broker;多分区异步索引在一定程度上提升了消息使用方并发拉取消息的速度。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
(1)虽然索引文件是异步写入磁盘的,但是在写入时会进行刷盘操作,如果分区的数量太多就会导致磁盘随机写的问题,影响日志文件的同步写入,进而导致消息发送性能下降。
(2)由于分区的数量固定,且各消息使用方的每个线程对消息的处理能力有限,当消息出现大量积压时,无法及时处理掉积压地消息。
发明内容
有鉴于此,本发明实施例提供一种消息处理方法和装置,通过将每个分区进行分段,不同分段之间并行处理消息,在不增加分区数量的情况下,使得处理的消息数量翻倍,降低了消息传递时延。
实现上述目的,根据本发明实施例的一个方面,提供了一种消息处理方法。
本发明实施例的一种消息处理方法,包括:消息中间件根据收到的获取请求,查找出与所述获取请求的消息类型相同的分区;其中,所述获取请求包括使用方标识和所请求获取的消息类型,所述分区保存有消息的存储位置信息;所述消息中间件根据所述分区的消费位置信息,从所述分区中选取出一个分段;其中,所述分区包括至少一个所述分段;所述消息中间件根据所述使用方标识和所述存储位置信息,将与所述分段相对应的消息输出至消息使用方。
可选地,所述消息中间件根据收到的获取请求,查找出与所述获取请求的消息类型相同的分区的步骤之前,还包括:为每个所述分区分别设置至少一个所述分段;其中,一个所述分区上的分段数量以及一个所述分段所对应的消息数量根据需求确定,且所有分区的分段数量大于所有的分区数量。
可选地,所述消息中间件根据所述使用方标识和所述存储位置信息,将与所述分段相对应的消息输出至消息使用方的步骤之后,还包括:在预定的超时时间内接收与所述消息相对应的确认信息,如果所述确认信息的位置信息在所述分段内连续且从所述分段对应的分区的头部开始在所述分区内连续,则将连续确认的最后一个位置信息作为所述分区的确认位置信息;根据所述分区的确认位置信息更新所述消费位置信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810144874.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:控制方法和装置
- 下一篇:任务处理方法、装置、设备和系统