分区均衡性异常检测方法、装置、设备、介质及产品与流程

文档序号:36254135发布日期:2023-12-03 11:10阅读:42来源:国知局
分区均衡性异常检测方法与流程

本公开涉及大数据,可以应用于金融科技,特别涉及一种分区均衡性异常检测方法、装置、设备、介质及产品。


背景技术:

1、随着数据中心服务器规模呈现爆发性增长,给运维人员的工作带来巨大的挑战。kafka是一个基于磁盘进行数据存储的分布式发布订阅消息系统,具有高性能、高吞吐、低延时、可持久化、可水平扩展等特点,对于大数据的数据处理和分析,kafka无疑是一个不可多得的选择。在使用过程中,kafka可以将主题(topic)划分为多个分区(partition),会根据分区规则将消息分布到不同的分区中,以此实现负载均衡和水平扩展。那分区规则设置的是否合理,直接影响到消息是否被均匀分布。

2、在这样的背景下,对kafka分区均衡性的监控也成了极其重要的关注点。面对服务器规模较大的kkafka集群和其下大量的主题及分区,传统的人工手动式检查工作很难及时发现某个集群的某个主题分区分配不均衡,更无法适应集群、主题和分区规模日益增长下的监控需求,亟需自动化的监控系统,在满足高效性与普适性的要求下,以快速发现数据中心kafka分区分配不均衡,主动且自发地解决生产问题。


技术实现思路

1、有鉴于此,本公开的主要目的是提供一种分区均衡性异常检测方法、装置、设备、介质及产品,旨在至少部分解决传统的人工手动式检查工作很难及时发现某个集群的某个主题分区分配不均衡,更无法适应集群、主题和分区规模日益增长下的监控需求的技术问题。

2、为实现上述目的,本公开实施例的第一方面提供一种分区均衡性异常检测方法,包括:获取预设时间段内kafka集群管理系统对集群划分的每个主题中每个分区的生产数据量;以及根据所述每个主题中每个分区的生产数据量确定存在分区均衡性异常的主题。

3、根据本公开的实施例,其中,所述获取预设时间段内kafka集群管理系统对集群划分的每个主题中每个分区的生产数据量包括:获取预设时间段内每个主题中每个分区的最大生产位移和最小生产位移;以及分别将与每个分区对应的所述最大生产位移与所述最小生产位移之间的差值确定为所述每个分区的生产数据量。

4、根据本公开的实施例,其中,所述获取预设时间段内kafka集群管理系统对集群划分的每个主题中每个分区的生产数据量还包括:调用结构化查询语句从性能容量管理数据库中获取所述最大生产位移和所述最小生产位移;以所主题的名称和所述分区的名称对所述最大生产位移和所述最小生产位移进行排序;以及以所主题的名称和所述分区的名称为索引存储排序后的所述最大生产位移和所述最小生产位移。

5、根据本公开的实施例,其中,所述根据所述每个主题中每个分区的生产数据量确定存在分区均衡性异常的主题包括:对于每一个主题,执行以下操作:确定所述主题中生产数据量等于零的分区的数量;以及响应于所述主题中生产数据量等于零的分区的数量不为零且小于所述主题中分区的总数量,确定所述主题存在分区均衡性异常。

6、根据本公开的实施例,其中,所述根据所述每个主题中每个分区的生产数据量确定存在分区均衡性异常的主题还包括:对于每一个主题,执行以下操作:计算所述主题中所有分区的生产数据量的标准差;响应于所述生产数据量的标准差大于生产数据量波动可控阈值,确定所述主题存在分区均衡性异常,其中,所述生产数据量波动可控阈值是根据所述集群的稳定状况确定的。

7、根据本公开的实施例,还包括:在确定存在分区均衡性异常的主题的情况下,发送预警信息,其中,发送预警信息的方法包括邮件式预警、短信预警、监控系统预警、运维网页展示预警中的至少之一。

8、根据本公开的实施例,其中,所述预警信息包括预警类型,预警等级,存在分区均衡性异常的集群名称,存在分区均衡性异常的主题名称,存在分区均衡性异常的主题中数据异常分区的最大生产位移、最小生产位移和生产数据量等于零的分区的数量,存在分区均衡性异常的主题的生产位移随时间的变化趋势。

9、根据本公开的实施例,其中,所述预警信息按照预警类型,预警等级,存在分区均衡性异常的集群名称,存在分区均衡性异常的主题名称,存在分区均衡性异常的主题中数据异常分区的最大生产位移、最小生产位移和生产数据量等于零的分区的数量,存在分区均衡性异常的主题的生产位移随时间的变化趋势依次递进的方式进行排列。

10、根据本公开的实施例,还包括:编写定时监控程序;设置多线程,其中,每一个集群对应配置一个线程;调用所述定时监控程序开启多线程并行任务,使每一个线程对与该线程对应的集群进行独立的分区均衡性异常检测。

11、本公开实施例第二方面提供一种分区均衡性异常检测装置,包括:获取模块,用于获取预设时间段内kafka集群管理系统对集群划分的每个主题中每个分区的生产数据量;以及确定模块,用于根据所述每个主题中每个分区的生产数据量确定存在分区均衡性异常的主题。

12、本公开实施例第三方面提供一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据上述分区均衡性异常检测方法。

13、本公开实施例第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有可执行指令,该指令被处理器执行时使处理器执行根据上述分区均衡性异常检测方法。

14、本公开实施例第五方面提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据上述分区均衡性异常检测方法。

15、根据本公开实施例提供的分区均衡性异常检测方法、装置、设备、介质及产品,至少具备以下有益效果:

16、通过对集群的每个主题中每个分区的生成数据量进行监测来确定存在分区均衡性异常的主题,由于生成数据量能够准确地反馈分区的数据情况,因此,基于生成数据量直接进行分区均衡性异常能够提高kafka分区均衡性异常检测的准确性。同时,由于生成数据量能够直观地反馈分区的数据情况,因此,基于生成数据量直接进行分区均衡性异常能够简单便捷地判断kafka分区的数据情况,从而提高了分区均衡性异常检测的效率且易于实现对大规模服务器背景下的kafka分区均衡性的检测。

17、通过每个主题中每个分区的最大生产位移和最小生产位移之前的差值确定为每个分区的数据量,由于kafka分区的生产位移是随着生产者生产数据不断增加而逐渐增长,符合线性增长关系,因此,能够快速地根据最大生产位移和最小生产位移之间的差值确定生产数据量,并且,确定的生产数据量准确,从而提高了kafka分区均衡性异常检测的高效性和准确性。

18、通过调用结构化查询语句从性能容量管理数据库中获取最大生产位移和最小生产位移,由于结构化查询语句不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,使得具有完全不同底层结构的不同数据库系统,可以使用相同的结构化查询语言作为数据输入与管理的接口,因此,更容易实现对大规模服务器背景下的kafka分区均衡性的检测。

19、针对不同的数据情况,采用不同的策略来确定存在分区均衡性异常的情况,由于不同的策略能够涵盖不同类型的分区均衡性异常,因此,基于不同的策略进行均衡性检测能够提高kafka分区均衡性异常检测的准确性。

20、由于通过多种形式向用户发送预警信息,一方面,能够及时通知运维人员对分区均衡性异常问题进行排查及处理,另一方面,能够从kafka分区均衡性监测相关统计数据、分区均衡性异常的预警记录和处理记录、集群各主题生产位移随时间的变化趋势等方面全方位地向用户展示相关信息,便于用户分析分区均衡性异常的根本原因。此外,通过合理定义预警信息的具体格式,能够更加直观地向用户展示相关信息。

21、通过编写定时监控程序,调用定时监控程序开启多线程并行任务进行独立的分区均衡性异常检测,一方面,能够实现定时自动对kafka分区均衡性进行检测,无需运维人员手动检测,另一方面,能够实现对大规模服务器背景下的kafka分区均衡性的检测。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1