一种基于Confluent社区开源版的实时大数据应用开发方法及系统技术方案

技术编号:28472365 阅读:16 留言:0更新日期:2021-05-15 21:40
本发明专利技术公开了一种基于Confluent社区开源版的实时大数据应用开发方法及系统,属于数据处理领域。本发明专利技术的开发方法及系统时用于解决现有的Confluent社区开源版产品缺乏实时数据应用开发流程化支持,进而导致基于其实时大数据的开发效率较低、且对Confluent社区开源版的易用性差的技术问题,本发明专利技术基于Confluent社区开源版的一整套向导式的开发流程服务,可以大大提高实时数据应用开发工程师的开发效率;基于优化的连接器配置,可以大大提高用户配置连接器的效率与成功率;并对查询操作进行了优化,从而提高了易用性,以较好支撑业务数据查询需求;对删除实时表/流流程进行了优化,以提高易用性,进而提高实时数据应用开发工程师的体验舒适度。师的体验舒适度。师的体验舒适度。

【技术实现步骤摘要】
一种基于Confluent社区开源版的实时大数据应用开发方法及系统


[0001]本专利技术涉及数据处理领域,尤其涉及一种基于Confluent社区开源版的实时大数据应用开发技术。

技术介绍

[0002]随着互联网技术以及信息技术的发展,大量的信息被数据化,产生了无法用常规工具捕捉、管理和处理的海量数据集合,这种数据集合也称为大数据。
[0003]大数据具有海量的数据规模以及多样的数据类型,对这些海量、流式的数据进行处理分析是一种巨大的挑战。为了更好地对大数据进行数据统计分析,大数据工具应运而生。
[0004]大数据工具可以用来开发各种大数据应用,用以处理海量数据。现有技术中,可以利用大数据工具来开发大数据应用,其开发过程一般是由大数据开发工程师搭建的大数据开发环境,利用分布式计算理论等大数据技术,在已搭建好的大数据开发环境下编写相应的代码,进行相应的大数据应用开发。
[0005]在实时大数据领域,开源流处理平台Kafka被广泛应用,Kafka平台是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据,基于所配置的流式处理程序(Stream Processing),使用一个或多个主题的输入流,并生成一个输出流到一个或多个输出主题,从而有效地将输入流转换为输出流,其处理过程如图1所示,Kafka平台通过连接器(Connector)实现与Kafka平台与其它系统(数据库(DB)、应用程序(APP)等)之间的数据传输,其中,连接器包括源连接器(Source connector)和目标连接器(Sink Connector),源连接器用于对源端的增量数据进行KAFKA主题识别,并将识别出的KAFKA主题存入kafka平台中,目标连接器用于将数据从kafka平台中读取对应的KAFKA主题的数据,并存入指定的目标端。虽然Kafka平台可以做到数据实时的生产与消费,但是需要大量的其他技术辅助,如Spark Streaming、Flink、Storm、Java、Scala等,且高度定制化,需要投入大量的技术人员和时间成本,不利于实时大数据应用开发工作的批量开展。
[0006]Confluent平台是一个开源分布式流媒体平台,其简化了将数据源连接到Kafka、使用Kafka构建应用程序以及保护、监视和管理Kafka基础设施,其分别为三个版本:Confluent社区开源版本(Confluent Open Source)、Confluent企业开源版本(Confluent Enterprise)和Confluent云开源版本(Confluent Cloud)。其中,Confluent社区开源版本在Kafka开源版本的基础上做了优化与改进,KSQL是使用SQL(Structured Query Language)语句对Kafka执行流处理任务的流式SQL引擎,而KSQLDB组件作为Confluent产品的组件之一,解决了实时流数据处理需要定制化开发需要投入专业的技术人员和时间成本的问题。可以用类似SQL的方式,无缝衔接Kafka数据,顺畅的构建出流式应用。KSQLDB组件是一个基于事件流的数据库,专用来帮助开发人员创建基于Apache Kafka的流式处理应用程序。参见图2,KSQLDB组件包括Stream Processing和Connector。且目标端APP在基于
KSQLDB组件进行数据查询处理时,包括推式查询(PUSH)和拉式查询(PULL),在推式查询中处理时,目标端APP一旦发起查询请求后,持续等待KSQLDB组件实时返回实时表/流的数据变化,且实时返回查询永不结束;而在拉式查询中,目标端APP根据行健(Rowkey)发起查询请求,KSQLDB组件实时响应当前查询请求并返回一行记录。KSQLDB组件基于轻量级的SQL语法,大大降低了操作的复杂性要求构建流处理的应用程序,从而促使开发者建立实时系统而不需要大量的时间和开销。
[0007]Confluent虽然大大提高了开发者建立实时系统的效率,降低了成本,但产品本身还有很多缺陷,无法满足用作企业级数据开发应用开发的标准和要求。具体体现在如下几个方面:
[0008](1)缺乏实时数据应用开发流程化支持。现有产品只有单项功能堆积,不成体系,无法做到实时业务数据从同步到清洗到统计到输出的全流程支持。需要数据应用开发工程师沿着源连接器

目标连接器,或者源连接器

流(KSQL Stream)

KSQL表(KSQL Table)的开发轨迹做单项功能的开发,然后再做程序流程整合。
[0009](2)现有的前端页面配置操作规则性校验很缺失,会导致程序配置成功率低。比如:当源连接器配置的converter.schemas.enable的配置为false时,生产的kafka消息将缺失模式(schema)信息,将无法用作后续目标连接器的数据源。再比如:源连接器的同步表与同步查询,是互斥的,只能二选一,但是前端页面未做校验,用户配置时可以通过,但是运行就会失败。
[0010](3)Confluent KSQLDB组件查询有重大技术缺陷,易用性差。
[0011]虽然后端运转良好可以正常推式查询与拉式查询,但是前端页面无法查询,只有内部未知错误,既不能满足业务数据查询需求,也对于排除障碍没有任何提示意义。
[0012]KSQLDB的推式查询与拉式查询易用性差。由于技术特点的限制,推式查询的会话将会处于长时间等待数据返回的状态,无法做到数据即席查询。拉式查询必须限定Rowkey作为条件,只能查询一行记录,不能支撑业务需求。
[0013](4)Confluent KSQLDB组件删除实时表/流易用性很差。
[0014]实时数据清洗与汇总统计的核心KSQLDB在建表建流上,命令交互极不友好。删除实时流/表总是需要先提示失败,根据失败报错信息判断正在占用的查询,停掉查询后,再做实时流/表的删除才能成功,很不友好。
[0015](5)Confluent KSQLDB组件对数据完全没有安全管控,表随意建,数据随意查询,不满足企业商用基本的信息安全要求。

技术实现思路

[0016]本专利技术的目的在于提供一种基于Confluent社区开源版的实时大数据应用开发方法,目的在于解决现有的Confluent社区开源版产品缺乏实时数据应用开发流程化支持的技术问题,从而使得基于Confluent社区开源版的实时大数据的开发效率较低、且对Confluent社区开源版的易用性差;本专利技术的另一目的是提供一种基于Confluent社区开源版的实时大数据应用开发系统,其开发实时大数据应用的开发效率较高。
[0017]本专利技术的基于Confluent社区开源版实现源端与目标端之间的实时数据交换时,按照下述处理过程进行配置实现:
[0018](A1)源连接器实时监听源端是否发生增量的业务数据,当监听到发生增量的业务数据时,将增量的业务数据写入到Kafka主题中;<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于Confluent社区开源版的实时大数据应用开发方法,在其特征在于,在基于Confluent社区开源版实现源端与目标端之间的实时数据交换时,按照下述处理过程进行配置:(A1)源连接器实时监听源端是否发生增量的业务数据,当监听到发生增量的业务数据时,将增量的业务数据写入到Kafka主题中;(A2)目标连接器实时监听Kafka主题的数据,实时读取新数据并写入到目标端数据库中。2.基于Confluent社区开源版的实时大数据应用开发方法,在其特征在于,在基于Confluent社区开源版的实现实时数据指标统计时,按照下述处理过程进行配置:(B1)源连接器实时监听源端是否发生增量的业务数据,当监听到发生增量的业务数据时,将增量的业务数据写入到Kafka主题中;(B2)主题流实时对当前新的Kafka主题数据进行主题流处理:按照用户预配置的主题结构模型,对Kafka主题数据进行结构化处理,得到结构化处理后的Kafka主题数据;其中,主题结构模型包括一个或多个指定的关键字段,基于所述主题结构模型进行结构化处理以得到所述kafka主题数据的一个或多个关键字段及其数据内容;(B3)实时流/表实时生成与用户指定的查询指标相匹配的查询字段,并基于该查询字段对当前结构化处理后的Kafka主题数据进行指标统计记录查询处理,生成新的指标统计记录流;(B4)目标连接器实时监听指标统计记录流,当监听到新的指标统计记录流时,实时将当前的指标统计记录流发送至目标端。3.如权利要求1或2所述的方法,其特征在于,源连接器监听源端是否发生增量的业务数据的监听规则为:源端的数据库存在自增主键或存在业务更新时间戳增量。4.如权利要求2所述的方法,其特征在于,所述源连接器的配置包括:配置源连接器同步的表与查询互斥;配置源连接器同步的增量模式为:时间戳和/或自增项。5.如权利要求2所述的方法,其特征在于,所述目标连接器的配置包括:对目标连接器选择的kafka主题数据做模式校验,若不存在模式信息,则所述kafka主题数据被拒绝用作目标连接器的数据源输入。6.如权利要求2所述的方法,其特征在于,步骤(B3)中,所述查询处理的查询规则为:采用推式查询统计实时流/表的数据条数N;在查询记录条数上限设置为N的条件下,采用推式查询进行指标统计记录查询处理。7.如权利要求2所述的方法,其特征在于,所述实时流/表的删除操作配置为:检测实时流/表是否被查询占用,当检测到被查询占用时,则识别出占用查询并执行查询终止后,再执行实时流/表的删除。8.如权利要求2所述的方法,其特征在于,所述实时表/流的安全配置为:对授权的字段进行真实内容显示,未授权的字段通过预置的通配符进行显示。...

【专利技术属性】
技术研发人员:吴彬朱智源
申请(专利权)人:成都延华西部健康医疗信息产业研究院有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1