本发明涉及新一代信息,具体地,涉及基于kafka指定topic消费数据统计的缺陷检测方法及系统,尤其涉及kafka指定topic消费数据统计展示,可以应用于互联网生产、生活服务平台。
背景技术:
1、kafka是由apache软件基金会开发的一个开源流处理平台,由scala和java编写。kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。对于像hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。kafka的目的是通过hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。
2、在公开号为cn110750562a的专利文献中公开了一种基于storm的实时数据比对预警方法及系统,该方法包括以下步骤:s1、将来自多种数据源的实时多维数据进行数据清洗和标准化后,以json数据格式按不同数据源分主题发送至分布式kafka消息队列;s2、将数据比对规则存储在rdbms;s3、从rdbms加载比对规则到内存,利用storm集群技术,将kafka集群中的实时多维数据与内存中的比对规则进行比对碰撞,并新建kafka主题存放实时比对的预警结果;s4、消费kafka预警结果主题,将结果写入rdbms,通过查询接口接收查询请求,进行预警展示。
3、目前运维工具查看不反便,且操作繁琐,统计的消费数据不够针对,且数据存在延时和缺陷的情况。
4、因此,需要提出一种新的技术方案以改善上述技术问题。
技术实现思路
1、针对现有技术中的缺陷,本发明的目的是提供一种基于kafka指定topic消费数据统计的缺陷检测方法及系统。
2、根据本发明提供的一种基于kafka指定topic消费数据统计的缺陷检测方法,所述方法包括如下步骤:
3、步骤s1:对待测产品进行缺陷检测,得到检测数据;
4、步骤s2:根据检测数据进行缺陷检测,得到异常数据;
5、步骤s3:将异常数据推送至指定的topic进行异常数据消费。
6、优选地,所述方法还包括如下步骤:
7、步骤1:创建java语言main方法,调用kafka组件中关键字bootstrap.servers,并设置kafka序列化key.deserializer;
8、步骤2:设置kafka反序列化参数value.deserializer,设置kafka的group.id;
9、步骤3:设置auto.offset.reset为earliest,当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,从头开始消费;
10、步骤4:设置none异常,当没有为消费者组找到先前的offset值时,抛出异常;
11、步骤5:kafka消费者拥有enable.auto.commit属性默认为true,通过这个参数来设置消费者默认提交offset的时间间隔;
12、步骤6:使用kafka程序consumer.subscribe读取消费者数据,此操作需要执行前面的程序;
13、步骤7:统计消费数据条数,编写前端html,将数据推送到前端展示。
14、优选地,所述步骤1中获取kafka节点bootstrap.servers进行多节点设置。
15、优选地,所述步骤4设置none异常,topic各分区都存在已提交的offset时,从offset后开始消费;只要有一个分区不存在已提交的offset,则抛出异常。
16、优选地,所述步骤5中的时间间隔为1s一次;
17、所述步骤7中的展示方式为饼图或柱状图。
18、本发明还提供一种基于kafka指定topic消费数据统计的缺陷检测系统,所述系统包括如下模块:
19、模块m1:对待测产品进行缺陷检测,得到检测数据;
20、模块m2:根据检测数据进行缺陷检测,得到异常数据;
21、模块m3:将异常数据推送至指定的topic进行异常数据消费。
22、优选地,所述系统还包括如下模块:
23、模块1:创建java语言main系统,调用kafka组件中关键字bootstrap.servers,并设置kafka序列化key.deserializer;
24、模块2:设置kafka反序列化参数value.deserializer,设置kafka的group.id;
25、模块3:设置auto.offset.reset为earliest,当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,从头开始消费;
26、模块4:设置none异常,当没有为消费者组找到先前的offset值时,抛出异常;
27、模块5:kafka消费者拥有enable.auto.commit属性默认为true,通过这个参数来设置消费者默认提交offset的时间间隔;
28、模块6:使用kafka程序consumer.subscribe读取消费者数据,此操作需要执行前面的程序;
29、模块7:统计消费数据条数,编写前端html,将数据推送到前端展示。
30、优选地,所述模块1中获取kafka节点bootstrap.servers进行多节点设置。
31、优选地,所述模块4设置none异常,topic各分区都存在已提交的offset时,从offset后开始消费;只要有一个分区不存在已提交的offset,则抛出异常。
32、优选地,所述模块5中的时间间隔为1s一次;
33、所述模块7中的展示方式为饼图或柱状图。
34、与现有技术相比,本发明具有如下的有益效果:
35、1、本发明能通过kafka指定topic消费数据读取并支持实时展示,进行数据缺陷检测,能为开发提供针对数据样本,为数据对比、数据流问题排查提供了便利,大大提高了工作效率;
36、2、本发明使用java作为基础开发语言,集成spingboot轻量级框架,调用kafka,zookeeper服务,获取服务信息,监控数据状态并统计消费数量,并通过前端页面实现可视化,为后续性能测试,大数据量统计提供了便利。
1.一种基于kafka指定topic消费数据统计的缺陷检测方法,其特征在于,所述方法包括如下步骤:
2.根据权利要求1所述的基于kafka指定topic消费数据统计的缺陷检测方法,其特征在于,所述方法还包括如下步骤:
3.根据权利要求2所述的基于kafka指定topic消费数据统计的缺陷检测方法,其特征在于,所述步骤1中获取kafka节点bootstrap.servers进行多节点设置。
4.根据权利要求2所述的基于kafka指定topic消费数据统计的缺陷检测方法,其特征在于,所述步骤4设置none异常,topic各分区都存在已提交的offset时,从offset后开始消费;只要有一个分区不存在已提交的offset,则抛出异常。
5.根据权利要求2所述的基于kafka指定topic消费数据统计的缺陷检测方法,其特征在于,所述步骤5中的时间间隔为1s一次;
6.一种基于kafka指定topic消费数据统计的缺陷检测系统,其特征在于,所述系统包括如下模块:
7.根据权利要求6所述的基于kafka指定topic消费数据统计的缺陷检测系统,其特征在于,所述系统还包括如下模块:
8.根据权利要求7所述的基于kafka指定topic消费数据统计的缺陷检测系统,其特征在于,所述模块1中获取kafka节点bootstrap.servers进行多节点设置。
9.根据权利要求7所述的基于kafka指定topic消费数据统计的缺陷检测系统,其特征在于,所述模块4设置none异常,topic各分区都存在已提交的offset时,从offset后开始消费;只要有一个分区不存在已提交的offset,则抛出异常。
10.根据权利要求7所述的基于kafka指定topic消费数据统计的缺陷检测系统,其特征在于,所述模块5中的时间间隔为1s一次;