[发明专利]数据存储架构的设计方法、消息传输方法及装置有效
申请号: | 202110587906.8 | 申请日: | 2021-05-27 |
公开(公告)号: | CN113342544B | 公开(公告)日: | 2023-09-01 |
发明(设计)人: | 曾旭;樊哲;樊京鑫 | 申请(专利权)人: | 北京奇艺世纪科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 北京华夏泰和知识产权代理有限公司 11662 | 代理人: | 卢万腾;李曼 |
地址: | 100080 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 存储 架构 设计 方法 消息 传输 装置 | ||
本发明实施例涉及一种数据存储架构的设计方法、消息传输方法及装置,方法包括:将全量消息队列划分为多个队列组;当确定多个队列组中存在发生消息积压的第一队列组时,从除第一队列组以外的其他队列组中选择至少一个消息队列移入第一队列组;在进行消息传输时,根据待传输的目标消息的消息优先级等级从多个队列组中确定一个目标队列组;将目标消息发送至目标队列组中的消息队列,以由消费者从目标消息队列组中的消息队列中获取目标消息。由此,可以实现RocketMQ消息中间件支持消息优先级,并实现将具有不同优先级等级的消息进行隔离,以及在某一队列组发生消息积压时,提高消费者对该队列组中消息的消费速度。
技术领域
本发明实施例涉及数据处理领域,尤其涉及一种数据存储架构的设计方法、消息传输方法及装置。
背景技术
RocketMQ是一款分布式、队列模型的消息中间件,由于其具有低延迟、高性能、高可靠性、万亿级容量、灵活的可扩展性等特点,被广泛应用于各种业务项目中。
在一些业务场景中,往往需要对消息设置消息优先级,以使得重要的消息能够被优先处理。然而,RocketMQ并不支持消息优先级,其在进行消息传输时,并不根据消息优先级的不同而对消息做区分处理,这就导致当消息量激增而导致RocketMQ中消息积压时,无法实现优先对重要的消息进行处理。
发明内容
鉴于此,为解决上述RocketMQ中不支持消息优先级的技术问题,本发明实施例提供一种数据存储架构的设计方法、消息传输方法及装置。
第一方面,本发明实施例提供一种数据存储架构的设计方法,包括:
将全量消息队列划分为多个队列组,每一所述队列组用于存储预设优先级等级的消息;
当确定多个所述队列组中存在发生消息积压的第一队列组时,从除所述第一队列组以外的其他队列组中选择至少一个消息队列移入所述第一队列组。
在一可能的实施方式中,在所述从除所述第一队列组以外的其他队列组中选择至少一个消息队列移入所述第一队列组之后,所述方法还包括:
当确定所述第一队列组当前未发生消息积压时,将移入的所述消息队列移回其原属的所述队列组中。
在一可能的实施方式中,每个所述消息队列配置有消息存储量阈值;
所述确定多个所述队列组中存在发生消息积压的第一队列组,包括:
针对每一所述队列组,确定所述队列组中各消息队列中的消息数目;若所述队列组中存在任意消息数目超过对应的所述消息存储量阈值的消息队列,则将所述队列组确定为发生消息积压的第一队列组。
在一可能的实施方式中,所述从除所述第一队列组以外的其他队列组中选择至少一个消息队列移入所述第一队列组,包括:
从除所述第一队列组以外的其他队列组中确定至少一个第二队列组,所述第二队列组对应的预设优先级等级低于所述第一队列组;
从至少一个所述第二队列组中选择至少一个消息队列移入所述第一队列组。
在一可能的实施方式中,所述从至少一个所述第二队列组中选择至少一个消息队列移入所述第一队列组,包括:
从至少一个所述第二队列组中选择至少一个第一消息队列,所述第一消息队列中的消息数目低于至少一个所述第二队列组中,除所述第一消息队列以外的任一消息队列;
将至少一个所述第一消息队列移入所述第一队列组。
在一可能的实施方式中,在所述第一队列组的数目为N,且N为大于1的自然数的情况下,所述从除所述第一队列组以外的其他队列组中选择至少一个消息队列移入所述第一队列组,包括:
依据对应的优先级等级从高到低的顺序,对N个所述第一队列组进行排序;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇艺世纪科技有限公司,未经北京奇艺世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110587906.8/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置