一种数据推送方法、装置以及电子设备与流程
- 国知局
- 2024-08-02 12:42:19
本申请涉及计算机,更具体地,涉及一种数据推送方法、装置以及电子设备。
背景技术:
1、随着软件和硬件技术的飞速发展,数据量也随之膨胀。在消费kafka数据时,使用者也更加渴望更高的性能及更高的可用性。示例性的,相关技术中,人们对kafka对应的消费者组的负载的均衡性要求越来越高。
技术实现思路
1、本申请提出了一种数据推送方法、装置以及电子设备,以改善上述问题。
2、第一方面,本申请实施例提供了一种数据推送方法,该方法包括:获取kafka集群中多个分区各自对应的消息堆积状态,并获取所述kafka集群对应的多个消费者节点各自对应的硬件处理能力以及所述多个消费者节点各自对应的消息接收量;基于所述多个分区各自对应的消息堆积状态,获取所述多个分区各自对应的分区堆积度权重,其中,所述分区堆积度权重用于表征对应的分区的消息堆积的紧急程度;基于所述多个消费者节点各自对应的硬件处理能力以及所述多个消费者节点各自对应的消息接收量,获取所述多个消费者节点各自对应的更新权重,其中,所述更新权重用于表征对应的消费者节点的处理能力的强度;根据所述多个分区各自对应的分区堆积度权重以及所述多个消费者节点各自对应的更新权重,将所述多个分区各自对应的消息推送至所述多个消费者节点中对应的消费者节点。
3、第二方面,本申请实施例提供了一种数据推送装置,该装置包括:消息堆积状态以及处理能力获取模块、分区堆积度权重获取模块、消费者节点更新权重获取模块以及消息推送模块。其中,消息堆积状态以及处理能力获取模块,用于获取kafka集群中多个分区各自对应的消息堆积状态,并获取所述kafka集群对应的多个消费者节点各自对应的硬件处理能力以及所述多个消费者节点各自对应的消息接收量;分区堆积度权重获取模块,用于基于所述多个分区各自对应的消息堆积状态,获取所述多个分区各自对应的分区堆积度权重,其中,所述分区堆积度权重用于表征对应的分区的消息堆积的紧急程度;消费者节点更新权重获取模块,用于基于所述多个消费者节点各自对应的硬件处理能力以及所述多个消费者节点各自对应的消息接收量,获取所述多个消费者节点各自对应的更新权重,其中,所述更新权重用于表征对应的消费者节点的处理能力的强度;消息推送模块,用于根据所述多个分区各自对应的分区堆积度权重以及所述多个消费者节点各自对应的更新权重,将所述多个分区各自对应的消息推送至所述多个消费者节点中对应的消费者节点。
4、第三方面,本申请实施例提供了一种电子设备,包括存储器和处理器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时所述处理器执行上述方法。
5、第四方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述方法。
6、本申请提供的技术方案,通过获取kafka集群中多个分区各自对应的消息堆积状态,并获取kafka集群对应的多个消费者节点各自对应的硬件处理能力以及多个消费者节点各自对应的消息接收量;基于多个分区各自对应的消息堆积状态,获取多个分区各自对应的分区堆积度权重,其中,分区堆积度权重用于表征对应的分区的消息堆积的紧急程度;基于多个消费者节点各自对应的硬件处理能力以及多个消费者节点各自对应的消息接收量,获取多个消费者节点各自对应的更新权重,其中,更新权重用于表征对应的消费者节点的处理能力的强度;根据多个分区各自对应的分区堆积度权重以及多个消费者节点各自对应的更新权重,将多个分区各自对应的消息推送至多个消费者节点中对应的消费者节点,进而根据kafka集群中各分区的消息堆积状态以及消费者节点对应的处理能力动态分配消费者节点对应的分区,提高了kafka向消费者推送消息的均衡性,平衡了各消费者节点的工作负载,也减少kafka推送消息的延迟,提升了kafka的服务质量。
技术特征:1.一种数据推送方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述消息堆积状态包括多个第一指标,所述多个第一指标包括消息数量、消息堆积速度以及消息等待处理时长,所述基于所述多个分区各自对应的消息堆积状态,获取所述多个分区各自对应的分区堆积度权重,包括:
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一权重系数、所述第二权重系数以及所述第三权重系数、所述多个分区各自对应的消息数量、消息堆积速度以及消息等待处理时长,获取所述多个分区各自对应的分区堆积度权重,包括:
4.根据权利要求1所述的方法,其特征在于,所述基于所述多个分区各自对应的消息堆积状态,获取所述多个分区各自对应的分区堆积度权重,包括:
5.根据权利要求1所述的方法,其特征在于,所述硬件处理能力包括多个第二指标,所述多个第二指标包括处理器利用率、内存使用率以及消息处理的速度,所述基于所述多个消费者节点各自对应的硬件处理能力以及所述多个消费者节点各自对应的消息接收量,获取所述多个消费者节点各自对应的更新权重,包括:
6.根据权利要求5所述的方法,其特征在于,所述基于所述第四权重系数、所述第五权重系数、所述第六权重系数、所述第七权重系数、所述多个消费者节点各自对应的处理器利用率、内存使用率、消息处理的速度以及未完成任务量,获取所述多个消费者节点各自对应的更新权重,包括:
7.根据权利要求1-6任一项所述的方法,其特征在于,所述根据所述多个分区各自对应的分区堆积度权重以及所述多个消费者节点各自对应的更新权重,将所述多个分区各自对应的消息推送至所述多个消费者节点中对应的消费者节点,包括:
8.一种数据推送装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-7任一项所述的方法。
技术总结本申请公开了一种数据推送方法、装置以及电子设备,该方法包括:获取kafka集群中多个分区各自对应的消息堆积状态,并获取kafka集群对应的多个消费者节点各自对应的硬件处理能力和消息接收量;基于多个分区各自对应的消息堆积状态,获取多个分区各自对应的分区堆积度权重;基于多个消费者节点各自对应的硬件处理能力和消息接收量,获取多个消费者节点各自对应的更新权重;根据多个分区各自对应的分区堆积度权重及多个消费者节点各自对应的更新权重,将多个分区各自对应的消息推送至多个消费者节点中对应的消费者节点,提高了kafka向消费者推送消息的均衡性,也提高了消费者对消息处理的效率。技术研发人员:刘剑受保护的技术使用者:广州小鹏汽车科技有限公司技术研发日:技术公布日:2024/8/1本文地址:https://www.jishuxx.com/zhuanli/20240802/237422.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表