[发明专利]基于消息队列的数据处理方法、装置、计算机设备和介质在审
申请号: | 202011487357.9 | 申请日: | 2020-12-16 |
公开(公告)号: | CN112612607A | 公开(公告)日: | 2021-04-06 |
发明(设计)人: | 王晓初;郑鹰飞 | 申请(专利权)人: | 平安消费金融有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/54 |
代理公司: | 北京英特普罗知识产权代理有限公司 11015 | 代理人: | 程超 |
地址: | 200131 上海市浦东新区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 消息 队列 数据处理 方法 装置 计算机 设备 介质 | ||
本申请涉及数据处理技术领域,提供了一种基于消息队列的数据处理方法、装置、计算机设备和介质。该方法包括:确定消息队列中消息主题对应线程的消费速率阈值;每间隔预设检查周期,计算消息主题当前的数据积压量和数据消费速率;若数据积压量达到预设积压量阈值,且数据消费速率达到利用消费速率阈值设置的阈值条件时,根据数据积压量、消费速率阈值和检查周期计算增加线程量;以及根据增加线程量调整消息主题的线程分配量。通过本申请,能够在基于消息队列的数据处理过程中,减少由于数据量增加引起的链路延迟和数据积压。
技术领域
本申请涉及数据处理技术领域,尤其涉及一种基于消息队列的数据处理方法、装置、计算机设备和介质。
背景技术
随着各种业务的深度交叉,上下游业务系统之间依赖关系的增强,对上下游之间的数据同步要求也在提升。业内上下游数据同步方案一般会使用消息队列实现业务解耦和数据泄洪,在数据同步过程中一般依据经验和业务情况预估数据量,使用固定的线程数来消费某个或某几个主题。但是,发明人研究发现,这样的方案存在明显的问题,因为业务数据通常是随时间变化的,当数据突然增多时,会出现大量表的数据同步链路延迟和积压。此外,在其他场景下基于消息队列的数据处理过程中,也会存在类似处理进度迟滞和数据积压的问题。
因此,在基于消息队列的数据处理过程中,如何减少由于数据量增加引起的链路延迟和数据积压,成为本领域亟需解决的技术问题。
发明内容
本申请的目的是提供一种基于消息队列的数据处理方法、装置、计算机设备和介质,用于解决现有技术中的上述技术问题。
一方面,为实现上述目的,本申请提供了一种基于消息队列的数据处理方法。
该基于消息队列的数据处理方法包括:确定消息队列中消息主题对应线程的消费速率阈值;每间隔预设检查周期,计算所述消息主题当前的数据积压量和数据消费速率;若所述数据积压量达到预设积压量阈值,且所述数据消费速率达到利用所述消费速率阈值设置的阈值条件时,根据所述数据积压量、所述消费速率阈值和所述检查周期计算增加线程量;以及根据所述增加线程量调整所述消息主题的线程分配量。
进一步地,该基于消息队列的数据处理方法还包括:若所述数据积压量大于0且未达到所述积压量阈值,更新所述消息主题对应的积压时间;每间隔所述检查周期,获取所述积压时间;若所述积压时间达到预设积压时间阈值时,根据所述数据积压量、所述消费速率阈值和所述检查周期计算所述增加线程量,其中,所述检查周期小于所述积压时间阈值。
进一步地,采用以下公式根据所述数据积压量、所述消费速率阈值和所述检查周期计算所述增加线程量:at=ceil(on/p/ms),其中,at为所述增加线程量,on为所述数据积压量,p为所述检查周期,ms为所述消费速率阈值,ceil为向下取整函数。
进一步地,确定消息队列中消息主题对应线程的消费速率阈值的步骤包括:在所述消息队列的测试主题中写入满足测试量的测试数据;订阅所述测试主题,以使所述线程消费所述测试数据;记录所述线程的消费完成时间;以及根据所述测试量和所述消费完成时间,确定所述消费速率阈值。
进一步地,计算所述消息主题的数据积压量和所述数据消费速率的步骤包括:在所述消息队列中记录所述消息主题的总数据量;记录所述消息主题对应的消费偏移量;计算所述总数据量与所述消费偏移量的差,以得到所述数据积压量;根据所述消费偏移量计算当前时间前预设时长内的消费偏移量增量;以及根据所述消费偏移量增量和所述预设时长计算所述数据消费速率。
进一步地,该基于消息队列的数据处理方法还包括:在所述消息主题的线程分配量发生变化时,存储所述线程分配量;每间隔所述检查周期,获取当前的所述线程分配量,并计算当前需要的目标线程量;根据所述线程分配量与所述目标线程量的关系,更新所述消息主题对应的空闲时间;当所述空闲时间达到预设空闲阈值时,根据当前的所述目标线程量和所述线程分配量,计算回收线程量;根据所述回收线程量调整所述消息主题的线程分配量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安消费金融有限公司,未经平安消费金融有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011487357.9/2.html,转载请声明来源钻瓜专利网。