CN111913821A - 一种实现跨数据源实时数据流生产消费的方法 - Google Patents
一种实现跨数据源实时数据流生产消费的方法 Download PDFInfo
- Publication number
- CN111913821A CN111913821A CN202010822880.6A CN202010822880A CN111913821A CN 111913821 A CN111913821 A CN 111913821A CN 202010822880 A CN202010822880 A CN 202010822880A CN 111913821 A CN111913821 A CN 111913821A
- Authority
- CN
- China
- Prior art keywords
- data
- message queue
- database
- consumption
- name
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及信息技术领域,提供了一种实现跨数据源实时数据流生产消费的方法。目的在于解决现有的通常一个consumer并不需要同一消息队列中的所有数据,而是要消费多个消息队列中的部分数据,因为消息队列中的数据只能顺序消费,就会导致consumer会消费出不需要的数据,一方面造成了资源浪费,另一方面带来了数据安全的问题。主要方案包括步骤1:统一数据生产者producer的数据标准,增加数据类别标识符;步骤2:开发消息队列过滤板,对消息队列中的数据进行筛选分类,实现对消息对列中的数据标识,得到每一条数据所对应的数据源地址、库名、表名;步骤3:开发数据分发机制功能,并收集consumer的数据消费需求,根据需求进行数据配置化分发。
Description
技术领域
本发明涉及信息技术领域,提供了一种实现跨数据源实时数据流生产消费的方法。
背景技术
为了更好的理解本提案,需要了解一下基本技术:
消息队列是一种进程之间通讯方式,它有着一个显著的特点:异步处理,它允许用户把一个消息放入队列,但并不立即处理它,在需要的时候再去队列中消费出来,然后去处理它们。因此为了保证数据一致性,消息队列采用FIFO先进先出的特性,来保证消息的顺序性。
在日常运用中,通常一个consumer并不需要同一消息队列中的所有数据,而是要消费多个消息队列中的部分数据,因为消息队列中的数据只能顺序消费,就会导致consumer会消费出不需要的数据,一方面造成了资源浪费,另一方面带来了数据安全问题。
发明内容
本发明的目的在于解决现有的通常一个consumer并不需要同一消息队列中的所有数据,而是要消费多个消息队列中的部分数据,因为消息队列中的数据只能顺序消费,就会导致consumer会消费出不需要的数据,一方面造成了资源浪费,另一方面带来了数据安全的问题。
本发明为解决上述技术问题,采用以下技术方案:
一种实现跨数据源实时数据流生产消费的方法,其特征在于,包括以下步骤:
步骤1:统一数据生产者producer的数据标准,增加数据类别标识符;
步骤2:开发消息队列过滤板,对消息队列中的数据进行筛选分类,实现对消息对列中的数据标识,得到每一条数据所对应的数据源地址、库名、表名;
步骤3:开发数据分发机制功能,并收集consumer的数据消费需求,根据需求进行数据配置化分发。
上述技术方案中,步骤1,具体包含以下步骤:
步骤1.1:收集producer信息,主要是通过接入消息队列的数据库信息,确定需要接入的数据,所述的数据库信息至少包含数据库地址、端口、数据库名、数据库表名;
步骤1.2:将数据库接入消息队列,每一条送入消息队列中的数据,带上数据分类标识,即每个数据库对应一个kafka的topic,其中标识可以分辨出上述步骤1.1中的数据库信息。
作为具体的示例,数据库接入消息队列可以使用OGG实现,OGG可以解析关系型数据库的归档日志,归档日志是记录数据库表的更改记录,经过OGG解析后可将归档日志转换成可读的数据流;消息队列可以使用kafka实现,kafka接入OGG产生的数据流。这样配置后,每个数据库对应一个kafka的topic,实时数据流中的每一条数据都包含有数据库的表名。
上述技术方案中,上述步骤2,具体包含以下步骤:
步骤2.1:开发消息队列过滤板程序,具体示例可以用java实现,方式如下:
步骤2.1.1:在java程序中实现消息队列消费类,连接kafka服务器,从相应的消息队列中消费数据;
步骤2.1.2:分析消费出来的数据,获取每一条的数据的标识信息:表名,然后根据topic的名称,获取消息队列对应的数据源信息:数据库地址、端口、数据库名;
步骤2.1.3:根据消息队列的名称,即示例中kafka的topic名称,再根据ogg的配置信息,可以获取topic对应的数据源信息:数据库地址、端口、数据库名;
步骤2.2:过滤板程序接入kafka,实现消息队列数据分类。
上述技术方案中,上述步骤3,具体包含以下步骤:
步骤3.1:在上述步骤2程序中增加读取consumer消费配置信息功能,信息至少包含consumer需要消费的数据库名及表名;
步骤3.2:根据步骤3.1中的配置信息,对分类后的实时数据进行筛选,将筛选后的数据发送到新的消息队列中;
步骤3.3:将新的消息队列接入到对应的consumer,实现消息队列定制化消费。
上述技术方案中,步骤1.2中将数据库接入消息队列是指通过数据库归档日志解析工具,将数据库归档日志解析成可读字符,并转换成实时数据流,发送到消息队列中。
上述技术方案中,步骤2.2中对消息对列中的数据标识是指得到每一条数据所对应的数据源地址、库名、表名。
因为本发明采用上述技术方案,因此具备以下有益效果:
本提案通过在消息队列中增加一个应用程序去过滤实时数据流数据,统一消费原有的实时数据流,可以降低消息队列的连接并发数。第二步根据consumer的消费信息,对实时数据流进行分类筛选,将有效的数据重新发送到新的消息队列中,无效的数据直接过滤掉,一方面可以降低数据泄露风险,另一方面分担原有的消息队列压力。
附图说明
图1为本发明流程示意图;
图2为消息队列数据生产消费模式。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,即所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
一种实现跨数据源实时数据流生产消费的方法,其特征在于,包括以下步骤:
步骤1:统一数据生产者producer的数据标准,增加数据类别标识符;
步骤2:开发消息队列过滤板,对消息队列中的数据进行筛选分类,实现对消息对列中的数据标识,得到每一条数据所对应的数据源地址、库名、表名;
步骤3:开发数据分发机制功能,并收集consumer的数据消费需求,根据需求进行数据配置化分发。
上述技术方案中,步骤1,具体包含以下步骤:
步骤1.1:收集producer信息,主要是通过接入消息队列的数据库信息,确定需要接入的数据,所述的数据库信息至少包含数据库地址、端口、数据库名、数据库表名;
步骤1.2:将数据库接入消息队列,每一条送入消息队列中的数据,带上数据分类标识,其中标识可以分辨出上述步骤1.1中的数据库信息。
作为具体的示例,数据库接入消息队列可以使用OGG实现,OGG可以解析关系型数据库的归档日志,归档日志是记录数据库表的更改记录,经过OGG解析后可将归档日志转换成可读的数据流;消息队列可以使用kafka实现,kafka接入OGG产生的数据流。这样配置后,每个数据库对应一个kafka的topic,实时数据流中的每一条数据都包含有数据库的表名。
上述技术方案中,上述步骤2,具体包含以下步骤:
步骤2.1:开发消息队列过滤板程序,具体示例可以用java实现,方式如下:
步骤2.1.1:在java程序中实现消息队列消费类,连接kafka服务器,从相应的消息队列中消费数据;
步骤2.1.2:分析消费出来的数据,获取每一条的数据的标识信息:表名,然后根据topic的名称,获取消息队列对应的数据源信息:数据库地址、端口、数据库名;
步骤2.2:过滤板程序接入kafka,实现消息队列数据分类。
上述技术方案中,上述步骤3,具体包含以下步骤:
步骤3.1:在上述步骤2程序中增加读取consumer消费配置信息功能,信息至少包含consumer需要消费的数据库名及表名,配置信息包含consumer需要消费的数据所对应的数据库地址、端口、数据库名、表名;
步骤3.2:根据步骤3.1中的配置信息,对分类后的实时数据进行筛选,将筛选后的数据发送到新的消息队列中;
步骤3.3:将新的消息队列接入到对应的consumer,实现消息队列定制化消费。
上述技术方案中,步骤1.2中将数据库接入消息队列是指通过数据库归档日志解析工具,将数据库归档日志解析成可读字符,并转换成实时数据流,发送到消息队列中。
上述技术方案中,步骤2.2中对消息对列中的数据标识是指得到每一条数据所对应的数据源地址、库名、表名。
Claims (6)
1.一种实现跨数据源实时数据流生产消费的方法,其特征在于,包括以下步骤:
步骤1:统一数据生产者producer的数据标准,增加数据类别标识符;
步骤2:开发消息队列过滤板,对消息队列中的数据进行筛选分类,实现对消息对列中的数据标识,得到每一条数据所对应的数据源地址、库名、表名;
步骤3:开发数据分发机制功能,并收集consumer的数据消费需求,根据需求进行数据配置化分发。
2.根据权利要求1所述的一种实现跨数据源实时数据流生产消费的方法,其特征在于,步骤1,具体包含以下步骤:
步骤1.1:收集producer信息,通过接入消息队列的数据库信息,确定需要接入的数据,所述的数据库信息至少包含数据库地址、端口、数据库名、数据库表名;
步骤1.2:将数据库接入消息队列,每一条送入消息队列中的数据,带上数据分类标识,得到每个数据库对应的消息队列的名称,其中标识可以分辨出上述步骤1.1中的数据库信息。
3.根据权利要求1所述的一种实现跨数据源实时数据流生产消费的方法,其特征在于,上述步骤2,具体包含以下步骤:
步骤2.1:开发消息队列过滤板程序:
步骤2.1.1:在java程序中实现消息队列消费类,连接kafka服务器,从相应的消息队列中消费数据;
步骤2.1.2:解析消费出来的数据,消费的数据格式为json格式字符串,获取json串中键tablename对应的值,即该条数据对应的数据库表名;
步骤2.1.3:根据消息队列的名称,再根据ogg的配置信息,可以获取消息队列的名称对应的数据源信息:数据库地址、端口、数据库名;
步骤2.2:过滤板程序接入kafka,实现消息队列数据分类。
4.根据权利要求1所述的一种实现跨数据源实时数据流生产消费的方法,其特征在于,上述步骤3,具体包含以下步骤:
步骤3.1:在上述步骤2程序中增加读取consumer消费配置信息功能,信息至少包含consumer需要消费的数据库名及表名;
步骤3.2:根据步骤3.1中的配置信息,对分类后的实时数据进行筛选,将筛选后的数据发送到新的消息队列中;
步骤3.3:将新的消息队列接入到对应的consumer,实现消息队列定制化消费。
5.根据权利要求2所述的一种实现跨数据源实时数据流生产消费的方法,其特征在于,步骤1.2中将数据库接入消息队列是指通过数据库归档日志解析工具,将数据库归档日志解析成可读字符,并转换成实时数据流,发送到消息队列中。
6.根据权利要求2所述的一种实现跨数据源实时数据流生产消费的方法,其特征在于,步骤2.2中实现消息队列数据分类,是指实现对消息对列中的数据标识,指得到每一条数据所对应的数据源地址、库名、表名。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010822880.6A CN111913821B (zh) | 2020-08-17 | 2020-08-17 | 一种实现跨数据源实时数据流生产消费的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010822880.6A CN111913821B (zh) | 2020-08-17 | 2020-08-17 | 一种实现跨数据源实时数据流生产消费的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111913821A true CN111913821A (zh) | 2020-11-10 |
CN111913821B CN111913821B (zh) | 2021-07-16 |
Family
ID=73278136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010822880.6A Active CN111913821B (zh) | 2020-08-17 | 2020-08-17 | 一种实现跨数据源实时数据流生产消费的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111913821B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112953757A (zh) * | 2021-01-26 | 2021-06-11 | 北京明略软件***有限公司 | 数据分发方法、***和计算机设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391271A (zh) * | 2017-05-17 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 一种基于消息队列***的延时任务触发方法和装置 |
CN107766538A (zh) * | 2017-10-28 | 2018-03-06 | 杭州安恒信息技术有限公司 | 基于java的数据过滤处理模块及同步、异步过滤方法 |
US10057329B2 (en) * | 2014-01-14 | 2018-08-21 | International Business Machines Corporation | Message switch file sharing |
CN109684370A (zh) * | 2018-09-07 | 2019-04-26 | 平安普惠企业管理有限公司 | 日志数据处理方法、***、设备及存储介质 |
CN109960629A (zh) * | 2019-03-14 | 2019-07-02 | 银清科技(北京)有限公司 | 对支付***业务量实时监控的方法和装置 |
CN110401636A (zh) * | 2019-06-28 | 2019-11-01 | 苏州浪潮智能科技有限公司 | 一种监管异常访问的大数据风控方法和装置 |
CN111026774A (zh) * | 2019-12-03 | 2020-04-17 | 深圳前海环融联易信息科技服务有限公司 | 数据顺序同步方法、装置、计算机设备及存储介质 |
CN111371621A (zh) * | 2020-03-12 | 2020-07-03 | 浪潮通用软件有限公司 | 基于混合云的数据交换方法、装置及计算机可读介质 |
CN111538600A (zh) * | 2020-02-25 | 2020-08-14 | 远景智能国际私人投资有限公司 | 消息处理方法、装置、计算机设备及存储介质 |
-
2020
- 2020-08-17 CN CN202010822880.6A patent/CN111913821B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10057329B2 (en) * | 2014-01-14 | 2018-08-21 | International Business Machines Corporation | Message switch file sharing |
CN107391271A (zh) * | 2017-05-17 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 一种基于消息队列***的延时任务触发方法和装置 |
CN107766538A (zh) * | 2017-10-28 | 2018-03-06 | 杭州安恒信息技术有限公司 | 基于java的数据过滤处理模块及同步、异步过滤方法 |
CN109684370A (zh) * | 2018-09-07 | 2019-04-26 | 平安普惠企业管理有限公司 | 日志数据处理方法、***、设备及存储介质 |
CN109960629A (zh) * | 2019-03-14 | 2019-07-02 | 银清科技(北京)有限公司 | 对支付***业务量实时监控的方法和装置 |
CN110401636A (zh) * | 2019-06-28 | 2019-11-01 | 苏州浪潮智能科技有限公司 | 一种监管异常访问的大数据风控方法和装置 |
CN111026774A (zh) * | 2019-12-03 | 2020-04-17 | 深圳前海环融联易信息科技服务有限公司 | 数据顺序同步方法、装置、计算机设备及存储介质 |
CN111538600A (zh) * | 2020-02-25 | 2020-08-14 | 远景智能国际私人投资有限公司 | 消息处理方法、装置、计算机设备及存储介质 |
CN111371621A (zh) * | 2020-03-12 | 2020-07-03 | 浪潮通用软件有限公司 | 基于混合云的数据交换方法、装置及计算机可读介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112953757A (zh) * | 2021-01-26 | 2021-06-11 | 北京明略软件***有限公司 | 数据分发方法、***和计算机设备 |
CN112953757B (zh) * | 2021-01-26 | 2023-12-29 | 北京明略软件***有限公司 | 数据分发方法、***和计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111913821B (zh) | 2021-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11599400B2 (en) | Segmenting machine data into events based on source signatures | |
CN109151078B (zh) | 一种分布式智能邮件分析过滤方法、***及存储介质 | |
CN109254982A (zh) | 一种流数据处理方法、***、装置及计算机可读存储介质 | |
CN110457178A (zh) | 一种基于日志采集分析的全链路监控告警方法 | |
CN109324996A (zh) | 日志文件处理方法、装置、计算机设备及存储介质 | |
CN112162965B (zh) | 一种日志数据处理的方法、装置、计算机设备及存储介质 | |
CN112559475B (zh) | 数据实时捕获和传输方法及*** | |
CN111913821B (zh) | 一种实现跨数据源实时数据流生产消费的方法 | |
CN115509797A (zh) | 一种故障类别的确定方法、装置、设备及介质 | |
CN113934733A (zh) | 问题定位方法、装置、***、存储介质及电子设备 | |
CN114090529A (zh) | 一种日志管理方法、装置、***和存储介质 | |
CN111125226B (zh) | 一种配置数据采集方法及装置 | |
CN115935231A (zh) | 一种数据分类方法、装置、设备及存储介质 | |
CN114969125A (zh) | 一种通用数据查询和统计方法及*** | |
CN112346938B (zh) | 操作审计方法、装置及服务器和计算机可读存储介质 | |
CN114185878A (zh) | 一种基于字段定义生成数据校验的方法及装置 | |
CN115757049B (zh) | 多业务模块日志记录方法、***、电子设备及存储介质 | |
CN115577197A (zh) | 组件发现的方法、***和装置 | |
CN114140032A (zh) | 一种设施运行状态监测方法、装置、设备及存储介质 | |
CN117707905A (zh) | 一种页面数据的管理方法和装置 | |
CN117390190A (zh) | 一种数据处理方法、装置、电子设备及计算机可读介质 | |
CN117827833A (zh) | 一种规则可配置的数据比对处理方法和*** | |
CN111966666A (zh) | 一种数据集成管理、开发方法及平台 | |
CN116384913A (zh) | 一种基于银行核心的多***多环境协同管理平台 | |
CN117370628A (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 |