CN112800064B - 一种基于Confluent社区开源版的实时大数据应用开发方法及系统 - Google Patents

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

Info

Publication number
CN112800064B
CN112800064B CN202110163182.4A CN202110163182A CN112800064B CN 112800064 B CN112800064 B CN 112800064B CN 202110163182 A CN202110163182 A CN 202110163182A CN 112800064 B CN112800064 B CN 112800064B
Authority
CN
China
Prior art keywords
real
data
time
processing module
source
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110163182.4A
Other languages
English (en)
Other versions
CN112800064A (zh
Inventor
吴彬
朱智源
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Yanhua Western Health And Medical Information Industry Research Institute Co ltd
Original Assignee
Chengdu Yanhua Western Health And Medical Information Industry Research Institute Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Yanhua Western Health And Medical Information Industry Research Institute Co ltd filed Critical Chengdu Yanhua Western Health And Medical Information Industry Research Institute Co ltd
Priority to CN202110163182.4A priority Critical patent/CN112800064B/zh
Publication of CN112800064A publication Critical patent/CN112800064A/zh
Application granted granted Critical
Publication of CN112800064B publication Critical patent/CN112800064B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computing Systems (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

一种基于Confluent社区开源版的实时大数据应用开发方法 及系统
技术领域
本发明涉及数据处理领域,尤其涉及一种基于Confluent社区开源版的实时大数据应用开发技术。
背景技术
随着互联网技术以及信息技术的发展,大量的信息被数据化,产生了无法用常规工具捕捉、管理和处理的海量数据集合,这种数据集合也称为大数据。
大数据具有海量的数据规模以及多样的数据类型,对这些海量、流式的数据进行处理分析是一种巨大的挑战。为了更好地对大数据进行数据统计分析,大数据工具应运而生。
大数据工具可以用来开发各种大数据应用,用以处理海量数据。现有技术中,可以利用大数据工具来开发大数据应用,其开发过程一般是由大数据开发工程师搭建的大数据开发环境,利用分布式计算理论等大数据技术,在已搭建好的大数据开发环境下编写相应的代码,进行相应的大数据应用开发。
在实时大数据领域,开源流处理平台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等,且高度定制化,需要投入大量的技术人员和时间成本,不利于实时大数据应用开发工作的批量开展。
Confluent平台是一个开源分布式流媒体平台,其简化了将数据源连接到Kafka、使用Kafka构建应用程序以及保护、监视和管理Kafka基础设施,其分别为三个版本:Confluent社区开源版本(Confluent Open Source)、Confluent企业开源版本(ConfluentEnterprise)和Confluent云开源版本(Confluent Cloud)。其中,Confluent社区开源版本在Kafka开源版本的基础上做了优化与改进,KSQL是使用SQL(Structured QueryLanguage)语句对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语法,大大降低了操作的复杂性要求构建流处理的应用程序,从而促使开发者建立实时系统而不需要大量的时间和开销。
Confluent虽然大大提高了开发者建立实时系统的效率,降低了成本,但产品本身还有很多缺陷,无法满足用作企业级数据开发应用开发的标准和要求。具体体现在如下几个方面:
(1)缺乏实时数据应用开发流程化支持。现有产品只有单项功能堆积,不成体系,无法做到实时业务数据从同步到清洗到统计到输出的全流程支持。需要数据应用开发工程师沿着源连接器→目标连接器,或者源连接器→流(KSQL Stream)→KSQL表(KSQL Table)的开发轨迹做单项功能的开发,然后再做程序流程整合。
(2)现有的前端页面配置操作规则性校验很缺失,会导致程序配置成功率低。比如:当源连接器配置的converter.schemas.enable的配置为false时,生产的kafka消息将缺失模式(schema)信息,将无法用作后续目标连接器的数据源。再比如:源连接器的同步表与同步查询,是互斥的,只能二选一,但是前端页面未做校验,用户配置时可以通过,但是运行就会失败。
(3)Confluent KSQLDB组件查询有重大技术缺陷,易用性差。
虽然后端运转良好可以正常推式查询与拉式查询,但是前端页面无法查询,只有内部未知错误,既不能满足业务数据查询需求,也对于排除障碍没有任何提示意义。
KSQLDB的推式查询与拉式查询易用性差。由于技术特点的限制,推式查询的会话将会处于长时间等待数据返回的状态,无法做到数据即席查询。拉式查询必须限定Rowkey作为条件,只能查询一行记录,不能支撑业务需求。
(4)Confluent KSQLDB组件删除实时表/流易用性很差。
实时数据清洗与汇总统计的核心KSQLDB在建表建流上,命令交互极不友好。删除实时流/表总是需要先提示失败,根据失败报错信息判断正在占用的查询,停掉查询后,再做实时流/表的删除才能成功,很不友好。
(5)Confluent KSQLDB组件对数据完全没有安全管控,表随意建,数据随意查询,不满足企业商用基本的信息安全要求。
发明内容
本发明的目的在于提供一种基于Confluent社区开源版的实时大数据应用开发方法,目的在于解决现有的Confluent社区开源版产品缺乏实时数据应用开发流程化支持的技术问题,从而使得基于Confluent社区开源版的实时大数据的开发效率较低、且对Confluent社区开源版的易用性差;本发明的另一目的是提供一种基于Confluent社区开源版的实时大数据应用开发系统,其开发实时大数据应用的开发效率较高。
本发明的基于Confluent社区开源版实现源端与目标端之间的实时数据交换时,按照下述处理过程进行配置实现:
(A1)源连接器实时监听源端是否发生增量的业务数据,当监听到发生增量的业务数据时,将增量的业务数据写入到Kafka主题中;
(A2)目标连接器实时监听Kafka主题的数据,实时读取新数据并写入到目标端数据库中。
本发明的另一种基于Confluent社区开源版的实现实时数据指标统计时,按照下述处理过程进行配置实现
(B1)源连接器实时监听源端是否发生增量的业务数据,当监听到发生增量的业务数据时,将增量的业务数据写入到Kafka主题中;
(B2)主题流(一个应用程序)实时对当前新生成的Kafka主题数据进行主题流处理:按照用户预配置的主题结构模型,对Kafka主题数据进行结构化处理,得到结构化处理后的Kafka主题数据;
其中,主题结构模型包括一个或多个指定的关键字段,基于该主题结构模型进行结构化处理以得到该kafka主题数据的一个或多个关键字段及其数据内容;
(B3)实时流/表(一个应用程序)实时生成与用户指定的查询指标相匹配的查询字段,并基于该查询字段对结构化处理后的Kafka主题数据进行指标统计记录查询处理,生成新的指标统计记录流;
(B4)目标连接器实时监听指标统计记录流,当监听到新的指标统计记录流时,实时将当前的指标统计记录流发送至目标端。
同时,本发明还公开了一种基于Confluent社区开源版的实时大数据应用开发系统,包括用户交互单元、处理模块链匹配单元、模块监管单元、处理模块状态转移映射表和若干处理模块链,其中,每条处理模块链对应一种实时数据处理需求,且每条处理模块链至少包括源连接器和目标连接器;
用户交互单元,用于用户输入或选择当前的实时数据处理需求并将实时数据处理需求发送至处理模块链匹配单元,以及配置当前实时数据处理需求所对应的源端和目标端,以及源连接器和目标连接器;
处理模块链匹配单元,为当前实时数据处理需求匹配对应的处理模块链,并将匹配结果通过用户交互单元反馈给用户;确定用户对当前默认的处理模块链是否进行修改配置,若是,则基于用户输入的修改配置信息对处理模块进行配置调整后再发送至模块监管单元;若否,则直接将匹配的处理模块链发送至模块监管单元;
模块监管单元,用于定期对收到的处理模块链的运转状态进行监管及运行状态维护,并通过用户交互单元进行监管及运行状态的维护结果反馈;
其中,模块监管单元处理模块链的运转状态进行监管具体为:从处理模块的起始模块开始逐一进行模块的运行状态的监测,若确定当前模块处于故障状态,则通过用户交互单元对用户进行提示;同时,根据当前模块的运行状态及其下游模块,从处理模块状态转移映射表中匹配下游模块的运行状态,并基于该匹配的运行状态继续通过处理模块状态转移映射表中匹配其下游模块的运行状态,直到处理模块链的最后一个模块,以完成对处理模块链的整体运行状态的整体维护,再将整体维护后处于故障状态的模块信息通过用户交互单元对用户进行提示。
综上所述,由于采用了上述技术方案,本发明的有益效果是:基于Confluent社区开源版的一整套向导式的开发流程服务,可以大大提高实时数据应用开发工程师的开发效率,提升了Confluent社区开源版的易用性。
附图说明
图1为现有的Kafka平台的流处理过程示意图;
图2为基于KSQLDB组件的流处理过程示意图;
图3为本发明的实时数据同步处理过程示意图;
图4为本发明的实时指标计算处理过程示意图;
图5为本发明方案与现有方案的查询处理过程对比图;
图6为本发明方案与现有方案删除实时表/流的处理过程对比图。
图7为本发明的实时大数据应用开发系统的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明将基于Confluent社区开源版产品的实时数据应用开发的各个流程环节做标准流程化的整合,形成一整套向导式的开发流程服务。在基于Confluent社区开源版的实时大数据应用开发过程中,当前开发任务中涉及到源端与目的端之间的数据同步处理需求时,参见图3,本发明通过下述处理实现实时数据交换(即数据同步):
(A1)源连接器实时监听源端是否发生增量的业务数据,当监听到发生增量的业务数据时,将增量的业务数据写入到Kafka主题中;
(A2)目标连接器实时监听Kafka主题的数据,实时读取新数据并写入到目标端数据库中,即目标连接器基于实时监听到的新KAFKA主题获取目标端的业务增量数据,并实时转发至目标端。从而使得目标端对本地的数据库进行实时更新,实现数据同步,即原样数据的复制。
即,本发明的实时数据的交换流程为:源头端发生增量的业务数据→预配置的源连接器进行实时数据识别→kafka主题的新数据→预配置的目标连接器获取目标端的业务增量数据→目标端接收数据。
本具体实施方式中,源连接器监听源端是否发生增量的业务数据的监听规则为源端的数据库存在自增主键或业务更新时间戳增量。
在基于Confluent社区开源版的实时大数据应用开发过程中,当前开发任务中涉及到数据指标统计处理需求时,参见图4,本发明通过下述实时数据指标统计流程实现:
(B1)源连接器实时监听源端是否发生增量的业务数据,当监听到发生增量的业务数据时,将增量的业务数据写入到Kafka主题中;
(B2)主题流(一个应用程序,即主题流处理程序)实时对当前新生成的Kafka主题数据进行主题流处理:按照用户预配置的主题结构模型,对Kafka主题数据进行结构化处理,得到结构化处理后的Kafka主题数据;
其中,主题结构模型包括一个或多个指定的关键字段,基于该主题结构模型进行结构化处理以得到该kafka主题数据的一个或多个关键字段及其数据内容;
(B3)实时流/表(一个应用程序,即实时流/表处理程序)实时生成与用户指定的查询指标相匹配的查询字段,并基于该查询字段对结构化处理后的Kafka主题数据进行指标统计记录查询处理,生成新的指标统计记录流;
(B4)目标连接器实时监听指标统计记录流,当监听到新的指标统计记录流时,实时将当前的指标统计记录流发送至目标端,从而使得目标端基于当前收到的指标统计记录流对外进行数据服务。
即本发明的实时数据指标统计流程可简单描述为:源头端发生增量的业务数据→预配置的源连接器进行实时数据识别→kafka主题数据→结构化的Kafka主题数据→指标统计记录流→目标端接收数据。
在实时数据指标统计的处理流程中,本发明还进一步的优化了Confluent社区开源版连接器配置功能,增强各配置项的校验功能。
即基于Kafka平台的源连接器和目标连接器的工作原理,重构了配置页面,加上了更多的技术校验规则,避免用户配置时考虑不周导致连接器配置失败,提高数据分析师配置源连接器与目标连接器的成功率。
具体增强项有如下几点:
(1)源连接器的配置。
配置源连接器同步的表与查询互斥不可同时输入;
配置同步的增量模式为:时间戳和/或自增项,即:timestamp/incrementing/timestamp+incrementing,与之匹配的指定时间戳列名/自增主键列名/时间戳列名与自增主键列名,拒绝不适配的列名配置。
(2)目标连接器的配置。
对目标连接器选择的kafka主题消息做模式校验,若kafka主题消息不存在模式信息,将被拒绝用作目标连接器的数据源输入,避免后续连接器无法正常工作,导致数据开发工程师的开发工作返工。
上述关于连接器的配置方式中,源连接器同步的增量模式以及目标连接器的配置方式也适用于本发明的实时数据交换处理。
同时,本发明还优化了Confluent社区开源版KSQLDB查询的操作流程,以提高易用性,满足业务数据查询需求。
具体的改进包括:基于KSQLDB重构了数据查询页面,并且优化了数据查询的流程,将推式查询做了封装,克服了推式数据查询陷入长时间等待的问题,也克服了拉式查询只能根据行健(Rowkey)查询一行记录的问题,用户可以轻松获取实时流与实时表的数据。
参见图5,本发明所封装的推式查询规则为:先用推式查询统计实时流/表的数据条数,再在推式查询的方法的基础上限制查询记录条数为总的数据条数(N),即当推完N条数据后,则刻返回给用户,不用再陷入长时间的等待等不到数据返回,以此克服现有产品的缺陷,改善糟糕的用户体验。
并且,本发明还优化Confluent社区开源版KSQLDB删除实时表/流的流程,以提高易用性。
针对KSQLDB的建表与建流做了技术优化,一次性的完成创建与删除,系统自行判断查询占用情况,减少用户的人为干预,提高易用性。参见图6,本发明中,当涉及到对实时表/流的删除处理时,首先,检测表/流是否被查询占用,若占用,则自动识别出占用查询并执行查询终止,然后再执行删除,用户不必再人为干预。而现有的KSQLDB在进行实时表/流的删除处理时,若查询正在使用,则系统会报错,并且需要人为干预终止当前的查询,然后才能进行删除处理。
此外,本发明还补充完善了Confluent社区开源版KSQLDB的数据授权体系功能,对KSQLDB的实时表/流做到字段级的授权,以达到企业商用软件信息安全要求的标准。
现有的Confluent社区开源版在进行大数据应用开发时,由于其缺失了数据信息安全管控的功能,无法满足企业对数据信息安全的要求。本发明补充完善了此项功能,对KSQLDB的实时表/流查询,已授权字段展示真实内容,未授权的字段展示通配符*,以掩盖未授权字段的内容,达到对KSQLDB数据信息安全控制功能的目的。
参见图7,本发明的实时大数据应用开发系统包括:用户交互单元、处理模块链匹配单元、模块监管单元、处理模块状态转移映射表和若干处理模块链,其中,每条处理模块链对应一种实时数据处理需求,例如实时数据交换和实时数据指标统计;且每条处理模块链至少包括源连接器和目标连接器,即以源连接器为处理模块链的起始处理模块,目标连接器为处理模块链的结束模块,源连接器和目标连接器之间顺次连接的中间模块取决于具体的实时数据处理需求,例如主题流结构化模块(用于对kafka主题进行结构化处理)、查询流处理模块、实时表统计模块等;
用户交互单元,用于用户输入或选择当前的实时数据处理需求并将实时数据处理需求发送至处理模块链匹配单元,以及配置当前实时数据处理需求所对应的源端和目标端,以及源连接器和目标连接器;
处理模块链匹配单元,为当前实时数据处理需求匹配对应的处理模块链,并将匹配结果通过用户交互单元反馈给用户;确定用户对当前默认的处理模块链是否进行修改配置,若是,则基于用户输入的修改配置信息对处理模块进行配置调整后再发送至模块监管单元;若否,则直接将匹配的处理模块链发送至模块监管单元;
模块监管单元,用于定期对收到的处理模块链的运转状态进行监管及运行状态维护,并通过用户交互单元进行监管及运行状态的维护结果反馈;
其中,模块监管单元处理模块链的运转状态进行监管具体为:从处理模块的起始模块开始逐一进行模块的运行状态(如运行中、失败、睡眠、挂起、离线等)的监测,若确定当前模块处于故障状态,则通过用户交互单元对用户进行提示;同时,根据当前模块的运行状态及其下游模块,从处理模块状态转移映射表中匹配下游模块的运行状态,并基于该匹配的运行状态继续通过处理模块状态转移映射表中匹配其下游模块的运行状态,直到处理模块链的最后一个模块,实现对处理模块链的整体运行状态的整体维护,再将整体维护后处于故障状态的模块信息通过用户交互单元对用户进行提示。
即,在处理模块状态转移映射表中包括的表项为:模块名称,模块运行状态,下游模块和下游模块运行状态等信息。
且对于本发明的实时大数据应用开发系统,在配置源连接器和目标连接器时,可以采用上述实时大数据应用开发方法中所提及的配置方式进行配置;在通过某个具体处理模块进行实时流/表的查询、删除处理时,也可以采用上述实时大数据应用开发方法中所提及的查询、删除方式,以及数据授权处理方式(用户通过用户交互模块配置是否进行数据授权)。本发明不做具体的限定。
以实时数据交换为例,则其对应的处理模块链依次包括:源目标连接器和目标连接器;和实时数据指标统计为例,则其对应的处理模块链依次包括:源目标连接器、主题流结构化模块、查询流处理模块、实时表统计模块和目标连接器,其中,主题流结构化模块用于实时对当前新的Kafka主题数据进行主题流处理,查询流处理模块用于实时生成与用户指定的查询指标相匹配的查询字段,实时表统计模块用于根据当前的查询字段进行指标统计记录查询处理,生成新的指标统计记录流。其中,查询流处理模块和实时表统计模块可以分别设置若干个。即处理模块链中的部分处理模块的实现时预先封装好的,且按照实时大数据处理的业务需求预先配置其对应的处理模块链,从而形成一整套向导式的开发流程服务,同时,也提供可扩展接口,供用户通过用户处理模块进行个性化的修改配置。
综上,本发明的有益效果是:
(1)基于Confluent社区开源版的一整套向导式的开发流程服务,可以大大提高实时数据应用开发工程师的开发效率;
(2)基于Confluent社区开源版完善后的连接器配置功能,可以大大提高用户配置连接器的效率与成功率。
(3)优化后的Confluent社区开源版KSQLDB查询的操作,提高了易用性,可以较好支撑业务数据查询需求。
(4)优化后的Confluent社区开源版KSQLDB删除实时表/流流程,提高了易用性,提高实时数据应用开发工程师的体验舒适度。
(5)补充完善Confluent社区开源版KSQLDB信息安全管控方面功能后,可以达到企业商用的标准。
以上所述,仅为本发明的具体实施方式,本说明书中所公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换;所公开的所有特征、或所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以任何方式组合。

Claims (2)

1.基于Confluent社区开源版的实时大数据应用开发方法,在其特征在于,将基于Confluent社区开源版产品的实时数据应用开发的各个流程环节做标准流程化的整合,形成一整套向导式的开发流程服务;
优化Confluent社区开源版连接器配置功能,增强各配置项的校验功能,包括:
源连接器的配置:配置源连接器同步的表与查询互斥,不可同时输入;配置源连接器同步的增量模式为:时间戳和/或自增项,与之匹配的指定时间戳列名/自增主键列名/时间戳列名与自增主键列名,拒绝不适配的列名配置;
目标连接器的配置:对目标连接器选择的kafka主题数据做模式校验,若不存在模式信息,则所述kafka主题数据被拒绝用作目标连接器的数据源输入;
优化Confluent社区开源版KSQLDB查询的操作流程:基于KSQLDB重构数据查询页面,封装推式查询,所封装的推式查询规则为:采用推式查询统计实时流/表的数据条数,再在推式查询的基础上限制查询记录条数为总的数据条数N,即当推完N条数据后,则返回给用户;
优化Confluent社区开源版KSQLDB删除实时表/流的流程:检测表/流是否被查询占用,若占用,则自动识别出占用查询并执行查询终止,然后再执行删除;
完善Confluent社区开源版KSQLDB的数据授权体系功能,对KSQLDB的实时表/流查询,已授权字段展示真实内容,未授权的字段展示通配符*,以掩盖未授权字段的内容;
在基于Confluent社区开源版实现源端与目标端之间的实时数据交换时,按照下述处理过程进行配置:
(A1)源连接器实时监听源端是否发生增量的业务数据,当监听到发生增量的业务数据时,将增量的业务数据写入到Kafka主题中;其中,源连接器监听源端是否发生增量的业务数据的监听规则为:源端的数据库存在自增主键或存在业务更新时间戳增量;
(A2)目标连接器实时监听Kafka主题的数据,实时读取新数据并写入到目标端数据库中;
在基于Confluent社区开源版的实现实时数据指标统计时,按照下述处理过程进行配置:
(B1)源连接器实时监听源端是否发生增量的业务数据,当监听到发生增量的业务数据时,将增量的业务数据写入到Kafka主题中;
(B2)主题流实时对当前新的Kafka主题数据进行主题流处理:按照用户预配置的主题结构模型,对Kafka主题数据进行结构化处理,得到结构化处理后的Kafka主题数据;
其中,主题结构模型包括一个或多个指定的关键字段,基于所述主题结构模型进行结构化处理以得到所述kafka主题数据的一个或多个关键字段及其数据内容;
(B3)基于优化的Confluent社区开源版KSQLDB查询的操作流程,实时流/表实时生成与用户指定的查询指标相匹配的查询字段,并基于该查询字段对当前结构化处理后的Kafka主题数据进行指标统计记录查询处理,生成新的指标统计记录流;
(B4)目标连接器实时监听指标统计记录流,当监听到新的指标统计记录流时,实时将当前的指标统计记录流发送至目标端。
2.一种基于Confluent社区开源版的实时大数据应用开发系统,其特征在于,包括用户交互单元、处理模块链匹配单元、模块监管单元、处理模块状态转移映射表和若干处理模块链,其中,每条处理模块链对应一种实时数据处理需求,且每条处理模块链至少包括源连接器和目标连接器;
用户交互单元,用于用户输入或选择当前的实时数据处理需求并将实时数据处理需求发送至处理模块链匹配单元,以及配置当前实时数据处理需求所对应的源端和目标端,以及源连接器和目标连接器;
其中,源连接器的增强配置项包括:配置源连接器同步的表与查询互斥,不可同时输入;配置源连接器同步的增量模式为:时间戳和/或自增项,与之匹配的指定时间戳列名/自增主键列名/时间戳列名与自增主键列名,拒绝不适配的列名配置;目标连接器的增强配置项包括:对目标连接器选择的kafka主题数据做模式校验,若不存在模式信息,则所述kafka主题数据被拒绝用作目标连接器的数据源输入;
处理模块链匹配单元,为当前实时数据处理需求匹配对应的处理模块链,并将匹配结果通过用户交互单元反馈给用户;确定用户对当前默认的处理模块链是否进行修改配置,若是,则基于用户输入的修改配置信息对处理模块进行配置调整后再发送至模块监管单元;若否,则直接将匹配的处理模块链发送至模块监管单元;
所述处理模块链包括用于实时数据交换的处理模块链和用于实时数据指标统计的处理模块链;
所述用于实时数据交换的处理模块链依次包括:源目标连接器和目标连接器,并按照权利要求1所述的实时数据交换处理过程进行配置;
所述用于实时数据指标统计的处理模块链依次包括:源目标连接器、主题流结构化模块、若干查询流处理模块、若干实时表统计模块和目标连接器,并按照权利要求1所述的用于实时数据指标统计时的处理过程进行配置;
所述源连接器实时监听源端是否发生增量的业务数据,当监听到发生增量的业务数据时,将增量的业务数据写入到Kafka主题中;
所述主题流结构化模块用于实时对当前新的Kafka主题数据进行主题流处理;
所述查询流处理模块用于实时生成与用户指定的查询指标相匹配的查询字段;
所述实时表统计模块用于根据当前的查询字段进行指标统计记录查询处理,生成新的指标统计记录流;
所述目标连接器用于实时监听指标统计记录流,当监听到新的指标统计记录流时,实时将当前的指标统计记录流发送至目标端;
模块监管单元,用于定期对收到的处理模块链的运转状态进行监管及运行状态维护,并通过用户交互单元进行监管及运行状态的维护结果反馈;
其中,模块监管单元处理模块链的运转状态进行监管具体为:从处理模块的起始模块开始逐一进行模块的运行状态的监测,若确定当前模块处于故障状态,则通过用户交互单元对用户进行提示;同时,根据当前模块的运行状态及其下游模块,从处理模块状态转移映射表中匹配下游模块的运行状态,并基于该匹配的运行状态继续通过处理模块状态转移映射表中匹配其下游模块的运行状态,直到处理模块链的最后一个模块,以完成对处理模块链的整体运行状态的整体维护,再将整体维护后处于故障状态的模块信息通过用户交互单元对用户进行提示;
在通过处理模块进行实时流/表的查询、删除处理时,采用权利要求1中优化后的Confluent社区开源版KSQLDB查询的操作流程、删除实时表/流的流程。
CN202110163182.4A 2021-02-05 2021-02-05 一种基于Confluent社区开源版的实时大数据应用开发方法及系统 Active CN112800064B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110163182.4A CN112800064B (zh) 2021-02-05 2021-02-05 一种基于Confluent社区开源版的实时大数据应用开发方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110163182.4A CN112800064B (zh) 2021-02-05 2021-02-05 一种基于Confluent社区开源版的实时大数据应用开发方法及系统

Publications (2)

Publication Number Publication Date
CN112800064A CN112800064A (zh) 2021-05-14
CN112800064B true CN112800064B (zh) 2023-06-02

Family

ID=75814437

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110163182.4A Active CN112800064B (zh) 2021-02-05 2021-02-05 一种基于Confluent社区开源版的实时大数据应用开发方法及系统

Country Status (1)

Country Link
CN (1) CN112800064B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114553866B (zh) * 2022-01-19 2024-09-17 深圳力维智联技术有限公司 全量数据的接入方法、装置以及计算机可读存储介质
CN114553970A (zh) * 2022-02-07 2022-05-27 上海数依数据科技有限公司 一种基于Kafka分布式消息处理方法及数据总线系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110750562A (zh) * 2018-07-20 2020-02-04 武汉烽火众智智慧之星科技有限公司 基于Storm的实时数据比对预警方法及系统
CN112292707A (zh) * 2019-01-28 2021-01-29 甲骨文国际公司 使用模式识别来处理事件流

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180165306A1 (en) * 2016-12-09 2018-06-14 International Business Machines Corporation Executing Queries Referencing Data Stored in a Unified Data Layer
CN108270669B (zh) * 2016-12-30 2022-08-02 中兴通讯股份有限公司 Sdn网络的业务恢复装置、主控制器、系统及方法
CN110276530A (zh) * 2019-05-31 2019-09-24 江苏普信达智能交通有限公司 一种智能化工程运维监管方法
CN111077870A (zh) * 2020-01-06 2020-04-28 浙江中烟工业有限责任公司 一种基于流计算的opc数据实时采集监控智能系统及方法
CN111723160B (zh) * 2020-08-24 2021-03-23 国网浙江省电力有限公司 一种多源异构增量数据同步方法及系统
CN112100265A (zh) * 2020-09-17 2020-12-18 博雅正链(北京)科技有限公司 面向大数据架构与区块链的多源数据处理方法及装置
CN112231402A (zh) * 2020-10-14 2021-01-15 广东亿迅科技有限公司 一种异构数据实时同步方法、装置、设备和存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110750562A (zh) * 2018-07-20 2020-02-04 武汉烽火众智智慧之星科技有限公司 基于Storm的实时数据比对预警方法及系统
CN112292707A (zh) * 2019-01-28 2021-01-29 甲骨文国际公司 使用模式识别来处理事件流

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Building a replicated logging system with Apache Kafka;Guozhang Wang 等;《Proceedings of the VLDB Endowment (PVLDB)》;1654–1655 *
开源软件中的大数据管理技术;江天;乔嘉林;黄向东;王建民;;科技导报(第03期);105-116 *

Also Published As

Publication number Publication date
CN112800064A (zh) 2021-05-14

Similar Documents

Publication Publication Date Title
US20180129579A1 (en) Systems and Methods with a Realtime Log Analysis Framework
CN106776780B (zh) 一种云环境中数据交换与共享方法及系统
EP3617884B1 (en) Adapter extension for inbound messages from robotic automation platforms to unified automation platform
CN103176974B (zh) 优化数据库中访问路径的方法和装置
CN112800064B (zh) 一种基于Confluent社区开源版的实时大数据应用开发方法及系统
CN111061788A (zh) 一种基于云架构的多源异构数据转换整合系统及其实现方法
CN113094385B (zh) 一种基于软件定义开放工具集的数据共享融合平台及方法
US11347620B2 (en) Parsing hierarchical session log data for search and analytics
CN112231402A (zh) 一种异构数据实时同步方法、装置、设备和存储介质
US8260761B2 (en) Detecting performance degrading design and algorithm issues in database applications
CN114039792B (zh) 一种数据访问权限控制方法、装置、设备及可读存储介质
CN111897877B (zh) 基于分布式思想的高性能高可靠数据共享系统及方法
CN113901078A (zh) 业务订单关联查询方法、装置、设备及存储介质
Theeten et al. Chive: Bandwidth optimized continuous querying in distributed clouds
CN117131059A (zh) 报表数据处理方法、装置、设备及存储介质
CN111159300A (zh) 基于区块链的数据处理方法及装置
CN113378219B (zh) 一种非结构化数据的处理方法和系统
CN110019118A (zh) 基于DevOps提升数据库运维效率的系统及其方法
CN106709016A (zh) 一种基于服务总线的数据交换方法
CN117009371A (zh) 数据血缘分析方法、装置、设备、存储介质及程序产品
CN115510139A (zh) 数据查询方法和装置
US20040111706A1 (en) Analysis of latencies in a multi-node system
CN114218299A (zh) 接口响应情况的监控方法、装置、设备及存储介质
Chardonnens Big data analytics on high velocity streams
CN114185928A (zh) 通用接口对接系统、方法、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant