CN114186000A - 一种基于Flink的业务数据监控方法、装置及存储介质 - Google Patents
一种基于Flink的业务数据监控方法、装置及存储介质 Download PDFInfo
- Publication number
- CN114186000A CN114186000A CN202111523688.8A CN202111523688A CN114186000A CN 114186000 A CN114186000 A CN 114186000A CN 202111523688 A CN202111523688 A CN 202111523688A CN 114186000 A CN114186000 A CN 114186000A
- Authority
- CN
- China
- Prior art keywords
- data
- service data
- field
- database
- flink
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/288—Entity relationship models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/221—Column-oriented storage; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2291—User-Defined Types; Storage management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于Flink的业务数据监控方法、装置及存储介质,方法包括:配置第一业务数据的数据存储规则;Flink从日志服务器中获取第一业务数据,根据数据存储规则对第一业务数据进行过滤处理,得到第二业务数据;把第二业务数据存入数据库中;查询所述数据库得到第三业务数据,对所述第三业务数据进行处理。通过本发明实施例,设置APP埋点业务数据与ClickHouse表关联,N个埋点对象关联成一张结构表,将埋点字段与结构表的字段进行一一对应;并通过日志服务器、Flink及ClickHouse进行协同处理。从而,保障业务数据监控系统具备高并发、易扩展,同时又降低数据存储成本。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于Flink的业务数据监控方法、装置及存储介质。
背景技术
APP数据指标的获取依赖埋点,早期APP数据指标统计的方案是APP上进行埋点产生日志,然后上报到云端,采用ELK或者其他数据存储载体进行存储后,由专门的部门进行收集计算,从而得出产品团队需要的数据,这项方案需要大量的数据仓库人员的配合,成本较高,对复杂的埋点的支持也不好。
针对这些弊端,阿里云推出了SLS日志系统,支持非结构化的数据存储,能够解决上述弊端,其商业化的图表与告警配置能够大幅度缩短埋点的数据指标配置流程,相对于早期APP埋点,大幅度降低了技术门槛与成本,然而其配置指标需要为查询字段创建索引,随着APP埋点的增加,索引的费用也越来越高,加之其配置图表与告警的SQL并非传统的SQL,有一定的学习成本,非研发人员使用较困难。
发明内容
本发明的主要目的在于提供一种基于Flink的业务数据监控方法、装置及存储介质,旨在解决现有技术中随着APP埋点的增加索引的费用越来越高,加之其配置图表与告警的SQL并非传统的SQL有一定的学习成本,非研发人员使用较困难的问题。
为实现上述目的,本发明提供了一种基于Flink的业务数据监控方法,所述方法包括以下步骤:
配置第一业务数据的数据存储规则;
Flink从日志服务器中获取所述第一业务数据,根据所述数据存储规则对所述第一业务数据进行过滤处理,得到第二业务数据;把所述第二业务数据存入数据库中;
查询所述数据库得到第三业务数据,对所述第三业务数据进行处理。
可选地,所述配置第一业务数据的数据存储规则,包括以下步骤:
设置所述第一业务数据的标识和/或基础字段和/或自定义字段;
建立所述第一业务数据的所述标识与数据库表关联关系,N(N大于等于1)个所述第一业务数据的所述标识与1张所述数据库表建立关联关系;
根据所述基础字段和/或所述自定义字段,创建所述标识对应的所述数据库表的字段;
建立所述基础字段和/或所述自定义字段与所述数据库表的字段的关联关系。
可选地,所述方法还包括:
为从所述标识对应的所述数据库中查询所述标识对应的所述基础字段和/或所述自定义字段对应的字段数据,创建第一SQL语句;所述标识和所述第一SQL语句一一对应。
可选地,所述Flink从日志服务器中获取所述第一业务数据,根据所述数据存储规则对所述第一业务数据进行过滤处理,得到第二业务数据;把所述第二业务数据存入数据库中,包括以下步骤:
根据所述数据存储规则中的所述第一业务数据的标识对所述第一业务数据进行过滤,得到所述标识对应的第四业务数据;
根据所述标志对应的所述基础字段和/或所述自定义字段从所述第四业务数据中获取所述基础字段和/或所述自定义字段对应的字段数据;
根据所述字段数据和所述标识对应的数据库表创建第二SQL语句,执行所述第二SQL语句把所述字段数据保存到所述标识对应的数据库表中。
可选地,所述方法还包括以下步骤:
对多个所述标志对应的字段数据和/或多个所述标志对应的所述数据库表创建批量存储数据的第三SQL语句,执行所述第三SQL语句把所述多个所述标志对应的字段数据保存到数据库中。
可选地,所述方法还包括以下步骤:
所述Flink定期获取所述数据存储规则,然后使用最新的所述数据存储规则更新本地保存的所述数据存储规则。
可选地,所述查询所述数据库得到第三业务数据,对所述第三业务数据进行处理,包括以下步骤:
根据所述标识获取对应的所述第一SQL语句;
根据查询条件修改所述第一SQL语句,得到第四SQL语句;
执行所述第四SQL语句从所述数据库中查询所述基础字段和/或所述自定义字段对应的字段数据。
此外,为实现上述目的,本发明还提出一种基于Flink的业务数据监控装置,所述装置包括:
数据配置单元,用于配置第一业务数据的数据存储规则;
数据存储单元,用于Flink从日志服务器中获取所述第一业务数据,根据所述数据存储规则对所述第一业务数据进行过滤处理,得到第二业务数据;把所述第二业务数据存入数据库中;
数据处理单元,用于查询所述数据库得到第三业务数据,对所述第三业务数据进行处理。
此外,为实现上述目的,本发明还提出一种电子设备,所述电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于Flink的业务数据监控程序,所述基于Flink的业务数据监控程序配置为实现如上文所述基于Flink的业务数据监控方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上文所述的基于Flink的业务数据监控方法的步骤。
通过本发明实施例,设置APP埋点业务数据与ClickHouse表关联,N个埋点对象关联成一张结构表,将埋点字段与结构表的字段进行一一对应;并通过日志服务器、Flink及ClickHouse进行协同处理。从而,保障业务数据监控系统具备高并发、易扩展,同时又降低数据存储成本。
附图说明
图1为本发明提供的基于Flink的业务数据监控方法的一个流程示意图。
图2为本发明提供的基于Flink的业务数据监控系统结构图。
图3为本发明提供的配置数据存储规则的一个流程示意图。
图4为本发明提供的业务数据入库的系统结构图。
图5为本发明提供的业务数据入库的一个流程示意图。
图6为本发明提供的查询业务数据的一个流程示意图。
图7为本发明基于Flink的业务数据监控装置实施例的结构框图。
图8为本发明实施例提供的一种电子设备的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅以解释本发明,并不用于限定本发明。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
在一个实施例中,如图1所示,本发明提供一种基于Flink的业务数据监控方法,所述方法包括:
步骤101、配置第一业务数据的数据存储规则。
移动互联网时代,APP业务高速发展,实时获取APP的使用状态对后续业务决策以及质量监控均有着重要意义,传统获取APP使用数据指标的办法是在APP的某些位置进行埋点统计数据指标,然后上报埋点数据,进而收集埋点进行数据分析,然后以图表的方式体现某一项埋点数据的趋势,为业务决策提供支持。
处于高速迭代中的APP平均两周一个版本,业务决策高度依赖埋点的数据,产品团队会根据埋点的数据上报及时调整业务方向,研发团队也会根据埋点的趋势进行优化,准确实时的埋点对APP的发展有着重要意义。大型APP有着诸多埋点,每个版本都会随业务场景新增埋点,高扩展易创建的埋点系统能够大幅度提高埋点效率。
基于Flink的业务数据监控系统,如图2所示。包括数据定义、数据上报、数据存储以及数据解析与展示,数据定义支持APP灵活定义埋点字段,经APP中的SDK生成日志记录后,上报至阿里云SLS进行缓存,然后借助Flink从阿里云SLS上消费数据记录,并录入到记录对应的ClickHouse表中进行数据存储,再以定义SQL的方式支持前端展示数据指标。
Flink集群对阿里云SLS服务器中的数据进行处理时,需要根据数据存储规则进行处理。因此,需要先对数据存储规则进行配置。配置数据存储规则,参见图3所示流程。
步骤201、设置所述第一业务数据的标识和/或基础字段和/或自定义字段。
APP数据指标,从用途的维度上,APP数据指标主要分为两类,一类是统计数据指标,像PV、UV之类的,只是计算用户使用过某一项功能,例如点击过某个按钮或者进入过某个页面,这类埋点内容简单,只需要用户每次使用的时候,产生一条记录即可,主要用于展示用户对某一项功能的使用数据次数以及使用人数;一类是质量埋点,这类埋点主要是记录用户使用过程中的性能以及异常数据,数据内容较为复杂,需要包括异常堆栈、异常的版本、机型以及网络等,不同的环境对APP的质量均有影响,这类埋点的字段相对灵活,不同的业务场景不一样,需要为质量迭代提供足够支持。
APP埋点通过SDK收集用户的操作记录后,生成日志文件上报给阿里云SLS服务器。每条日志记录都有一个唯一标识,用于区分日志记录;同时每条日志记录中包含相应的基础字段和自定义字段。基础字段包括:UUID、userID、app版本号、设备类型、os类型等字段;自定义字段可以根据每种日记记录类型进行自定义字段,如记录用户浏览商品的日志记录的自定义字段包括:日志类型、商品详情页、收藏商品、购买商品。分析日志文件时,系统可以根据业务需求设置对应的基础字段和自定义字段,本技术方案不做具体限制。
运维人员可以根据需要动态修改数据存储规则中的标识、基础字段、自定义字段。如果需要对新的埋点数据(即新的日志记录)进行分析时,需要根据新的日志记录设置对应的标识;也可以对已分析(即已配置标识)的日志记录重新设置基础字段和自定义字段,如需要对某个用户操作行为进行分析时,则增加相应字段就可以。增加的字段需要埋点数据中有相应记录。
例如,设置的标识、基础字段和自定义字段如下表所示:
步骤202、建立所述第一业务数据的所述标识与数据库表关联关系,N(N大于等于1)个所述第一业务数据的所述标识与1张所述数据库表建立关联关系。
本发明采用结构化的数据表生成通用型的多维度表,在埋点对象与存储表之间进行关联配置,从而支持处理不同的业务埋点的字段差异,将N个埋点对象关联成一张结构表,将埋点字段与结构表的字段进行一一对应,从而完成了埋点定义结构化转变。
日志数据通常不会改变,采用ClickHouse作为存储数据库,支持大批量存储的情况下保持良好的查询速度。
埋点的唯一标记称之为Section,埋点Section与ClickHouse表是n:1的关系,埋点与ClickHouse表之间的关系采用人工配置进行管理,与ClickHouse表关联的n个埋点都将入库到这个ClickHouse表中,然后针对单表进行SQL查询,再对前端提供三维度(横轴、纵轴、折线名称)的查询结果,从而支持多维度数据指标。
如把3个埋点A、B、C对应的日志记录都存储到ClickHouse数据的Table_ID_001表中,则把这3个埋点对应的日志记录的标识和表名称进行关联配置,如配置成如下表所示:
日记记录名称 | 日志记录标识 | 表名称 |
埋点A | 商品浏览日志A | Table_ID_001 |
埋点B | 商品浏览日志B | Table_ID_001 |
埋点C | 商品浏览日志C | Table_ID_001 |
步骤203、根据所述基础字段和/或所述自定义字段,创建所述标识对应的所述数据库表的字段。
将N个埋点对象关联成一张结构表后,将埋点字段与结构表的字段进行一一对应,从而完成了埋点定义结构化转变。如埋点A、B、C包含多个基础字段和自定义字段,然后把这些字段一一对应到数据库表字段中。埋点A、B、C包含的字段如下表所示:
则埋点A、B、C对应的数据库表Table_ID_001包含的字段如下表所示:
步骤204、建立所述基础字段和/或所述自定义字段与所述数据库表的字段的关联关系。
埋点日志记录的字段需要和对应的数据库表字段一一对应,后续flink需要根据该对应关系把日志记录中的字段数据一一存储到数据库表的对应字段关系中。配置的对应关系,如下表所示:
步骤205、为从所述标识对应的所述数据库中查询所述标识对应的所述基础字段和/或所述自定义字段对应的字段数据,创建第一SQL语句;所述标识和所述第一SQL语句一一对应。
为每个埋点的日志记录编写一个数据库查询的SQL语句,后续查询该埋点的日志记录数据时,根据该埋点的日志记录标识获取对应的SQL语句进行查询。如埋点A的日志记录数据查询对应的SQL语句为:
select userID,APP版本号,商品详情页A,收藏商品A from Table_ID_001;具体的SQL查询语句,可以根据实际需求进行编写,本技术方案不做限定。
配置完埋点的日志记录的数据存储规则后,需要把数据存储规则下发给Flink集群。本发明数据存储规则通过WEB管理端进行配置,配置后保存到数据库表,如section配置表中,然后由Flink集群定期到section配置表中获取数据存储规则。
Flink集群从section配置表中获取数据存储规则后,保存到本地。如果本地已存在有对应的数据存储规则,如存在埋点A的日志记录的数据存储规则,则使用使用最新的数据存储规则更新本地保存的数据存储规则。
步骤102、Flink从日志服务器中获取所述第一业务数据,根据所述数据存储规则对所述第一业务数据进行过滤处理,得到第二业务数据;把所述第二业务数据存入数据库中。
本发明采用阿里云SLS作为APP的埋点日志记录数据缓存,SLS存储费用并不高,其能支持高并发性,能够弥补ClickHouse并发限制的问题,而SLS的数据分析以及图表配置需要创建索引,索引的费用较高,本发明采用成本较低的ClickHouse进行存储。
Flink连接对应的Logstore进行数据消费,每5秒从Section配置表中获取Section配置(即数据存储规则),根据Section字段进行过滤,减少无效数据,然后根据Section配置的字段以及关联表,动态生成入库语句,拼接后将数据入库。数据入库系统结构如图4所示;Flink集群对日志记录数据过滤、录入的详情步骤,参见图5所示流程。
步骤301、根据所述数据存储规则中的所述第一业务数据的标识对所述第一业务数据进行过滤,得到所述标识对应的第四业务数据。
SLS的每个存储数据的表叫LogStore,Flink任务采用Source从SLS上进行数据消费获取数据,采用Sink进行数据入库,将数据录入ClickHouse。Source获取到日志记录后,根据日志记录的标识,在本地保存的数据存储规则中查找是否配置了对应的标识,如果没有配置对应的标识,则丢弃该日志记录;如果配置了对应的标识,则获取该日志记录数据,进行后续处理。如埋点A对应的标识为商品浏览日志A,该标识在数据存储规则已配置,则Source获取埋点A对应的日志记录数据,如获取的日志记录数据为日志记录_埋点A。
步骤302、根据所述标志对应的所述基础字段和/或所述自定义字段从所述第四业务数据中获取所述基础字段和/或所述自定义字段对应的字段数据。
根据获取的日志记录的标识(如商品浏览日志A),获取该标识对应的基础字段和自定义字段,如获取标识商品浏览日志A的字段,得到如下表所示的字段:
然后从获取的日志记录中获取该标识对应字段的数据内容,获取的结果如下表所示:
日志记录数据中可能包含除标识对应的字段外其他数据,Flink只会获取标识对应字段的数据,其他数据Flink不会获取。
步骤303、根据所述字段数据和所述标识对应的数据库表创建第二SQL语句,执行所述第二SQL语句把所述字段数据保存到所述标识对应的数据库表中。
Flink根据日志记录的标识获取对应的ClickHouse数据库表,如商品浏览日志A对应的数据库表为Table_ID_001。然后根据日志记录的标识对应的日志记录的字段,获取数据库表Table_ID_001中对应的数据库表字段。如商品浏览日志A字段和数据库表Table_ID_001中对应的数据库表字段如下表所示:
Flink根据日志记录字段的数据内容、标识对应的数据库表、对应的数据库表字段,构造SQL语句。然后执行SQL语句,把日志记录的字段对应的数据内容保存到对应的数据库表中,如保存到表Table_ID_001。
步骤304、对多个所述标志对应的字段数据和/或多个所述标志对应的所述数据库表创建批量存储数据的第三SQL语句,执行所述第三SQL语句把所述多个所述标志对应的字段数据保存到数据库中。
由于ClickHouse缺少并发性,本发明Sink中根据Section配置的字段与表批量拼接SQL,执行SQL进行批量入库。Flink集群获取多条日志记录后,然后分别解析出这些日志记录中需要保存到数据库的字段内容。把多条日志记录的字段内容构造到1条SQL语句中,对这些内容进行批量入库,从而可以减少ClickHouse数据库的并发操作。
步骤103、查询所述数据库得到第三业务数据,对所述第三业务数据进行处理。
数据指标分析最常用的多折线表,只需要三个维度,将维度字段固定,在配置的查询语句中变更名字,便可以得到通用型的多折线表。
配置数据指标的展示以及告警,展示是可执行的SQL语句,存储在Section配置中,ClickHouse连表查询的效率较低,在数据定义时将N个埋点生成一张单ClickHouse表。查询Section的图表时,直接从单表里查询,具备较高的查询速度。具体查询过程,参见图6所示流程。
步骤401、根据所述标识获取对应的所述第一SQL语句。
在WEB端根据需要查询的日志记录标识获取对应的查询SQL语句,每个标识在设置阶段都设置了一条对应的查询SQL语句,用于查询该日志记录对应字段的内容。如埋点A(标识为商品浏览日志A)的日志记录数据查询对应的SQL语句为:
select userID,APP版本号,商品详情页A,收藏商品A from Table_ID_001;
步骤402、根据查询条件修改所述第一SQL语句,得到第四SQL语句。
WEB段查询时,可以给对应的SQL查询语句增加查询条件,如指定收藏商品为耐克球鞋的收藏记录。则根据查询条件,修改对应的SQL查询语句,在查询条件中增加对应的条件,修改后的SQL语句,如:select userID,APP版本号,商品详情页A,收藏商品A fromTable_I D_001where收藏商品A=耐克球鞋;
步骤403、执行所述第四SQL语句从所述数据库中查询所述基础字段和/或所述自定义字段对应的字段数据。
WEB端执行修改查询条件的SQL语句,获得埋点标识(日志记录标识)对应的日志记录信息,然后把查询结果呈现在WEB页面中。如通过数据指标分析最常用的多折线表进行查询结果展示。查询数据的具体处理及展示,本技术方案不做限制,可以根据需求进行相应处理。
通过本发明实施例,设置APP埋点业务数据与ClickHouse表关联,N个埋点对象关联成一张结构表,将埋点字段与结构表的字段进行一一对应;并通过日志服务器、Flink及ClickHouse进行协同处理。从而,保障业务数据监控系统具备高并发、易扩展,同时又降低数据存储成本。
此外,本发明实施例还提出一种基于Flink的业务数据监控装置,参照图7,所述基于Flink的业务数据监控装置包括:
数据配置单元10,用于配置第一业务数据的数据存储规则;
数据存储单元20,用于Flink从日志服务器中获取所述第一业务数据,根据所述数据存储规则对所述第一业务数据进行过滤处理,得到第二业务数据;把所述第二业务数据存入数据库中;
数据处理单元30,用于查询所述数据库得到第三业务数据,对所述第三业务数据进行处理。
本实施例通过上述方案,设置APP埋点业务数据与ClickHouse表关联,N个埋点对象关联成一张结构表,将埋点字段与结构表的字段进行一一对应;并通过日志服务器、Flink及ClickHouse进行协同处理。从而,保障业务数据监控系统具备高并发、易扩展,同时又降低数据存储成本。
需要说明的是,上述装置中的各单元可用于实现上述方法中的各个步骤,同时达到相应的技术效果,本实施例在此不再赘述。
参照图8,图8为本发明实施例提供的一种电子设备的结构示意图。
如图8所示,该电子设备可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI、4G、5G接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图8中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图8所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于Flink的业务数据监控程序。
在图8所示的电子设备中,网络接口1004主要用于与外部网络进行数据通信;用户接口1003主要用于接收用户的输入指令;电子设备通过处理器1001调用存储器1005中存储的基于Flink的业务数据监控程序,并执行以下操作:
配置第一业务数据的数据存储规则;
Flink从日志服务器中获取所述第一业务数据,根据所述数据存储规则对所述第一业务数据进行过滤处理,得到第二业务数据;把所述第二业务数据存入数据库中;
查询所述数据库得到第三业务数据,对所述第三业务数据进行处理。
可选地,所述配置第一业务数据的数据存储规则,包括以下步骤:
设置所述第一业务数据的标识和/或基础字段和/或自定义字段;
建立所述第一业务数据的所述标识与数据库表关联关系,N(N大于等于1)个所述第一业务数据的所述标识与1张所述数据库表建立关联关系;
根据所述基础字段和/或所述自定义字段,创建所述标识对应的所述数据库表的字段;
建立所述基础字段和/或所述自定义字段与所述数据库表的字段的关联关系。
可选地,所述方法还包括:
为从所述标识对应的所述数据库中查询所述标识对应的所述基础字段和/或所述自定义字段对应的字段数据,创建第一SQL语句;所述标识和所述第一SQL语句一一对应。
可选地,所述Flink从日志服务器中获取所述第一业务数据,根据所述数据存储规则对所述第一业务数据进行过滤处理,得到第二业务数据;把所述第二业务数据存入数据库中,包括以下步骤:
根据所述数据存储规则中的所述第一业务数据的标识对所述第一业务数据进行过滤,得到所述标识对应的第四业务数据;
根据所述标志对应的所述基础字段和/或所述自定义字段从所述第四业务数据中获取所述基础字段和/或所述自定义字段对应的字段数据;
根据所述字段数据和所述标识对应的数据库表创建第二SQL语句,执行所述第二SQL语句把所述字段数据保存到所述标识对应的数据库表中。
可选地,所述方法还包括以下步骤:
对多个所述标志对应的字段数据和/或多个所述标志对应的所述数据库表创建批量存储数据的第三SQL语句,执行所述第三SQL语句把所述多个所述标志对应的字段数据保存到数据库中。
可选地,所述方法还包括以下步骤:
所述Flink定期获取所述数据存储规则,然后使用最新的所述数据存储规则更新本地保存的所述数据存储规则。
可选地,所述查询所述数据库得到第三业务数据,对所述第三业务数据进行处理,包括以下步骤:
根据所述标识获取对应的所述第一SQL语句;
根据查询条件修改所述第一SQL语句,得到第四SQL语句;
执行所述第四SQL语句从所述数据库中查询所述基础字段和/或所述自定义字段对应的字段数据。
本实施例通过上述方案,设置APP埋点业务数据与ClickHouse表关联,N个埋点对象关联成一张结构表,将埋点字段与结构表的字段进行一一对应;并通过日志服务器、Flink及ClickHouse进行协同处理。从而,保障业务数据监控系统具备高并发、易扩展,同时又降低数据存储成本。
此外,本发明实施例还提出一种计算机可读存储介质,计算机可读存储介质上存储有基于Flink的业务数据监控程序,基于Flink的业务数据监控程序被处理器执行时实现如下操作:
配置第一业务数据的数据存储规则;
Flink从日志服务器中获取所述第一业务数据,根据所述数据存储规则对所述第一业务数据进行过滤处理,得到第二业务数据;把所述第二业务数据存入数据库中;
查询所述数据库得到第三业务数据,对所述第三业务数据进行处理。
可选地,所述配置第一业务数据的数据存储规则,包括以下步骤:
设置所述第一业务数据的标识和/或基础字段和/或自定义字段;
建立所述第一业务数据的所述标识与数据库表关联关系,N(N大于等于1)个所述第一业务数据的所述标识与1张所述数据库表建立关联关系;
根据所述基础字段和/或所述自定义字段,创建所述标识对应的所述数据库表的字段;
建立所述基础字段和/或所述自定义字段与所述数据库表的字段的关联关系。
可选地,所述方法还包括:
为从所述标识对应的所述数据库中查询所述标识对应的所述基础字段和/或所述自定义字段对应的字段数据,创建第一SQL语句;所述标识和所述第一SQL语句一一对应。
可选地,所述Flink从日志服务器中获取所述第一业务数据,根据所述数据存储规则对所述第一业务数据进行过滤处理,得到第二业务数据;把所述第二业务数据存入数据库中,包括以下步骤:
根据所述数据存储规则中的所述第一业务数据的标识对所述第一业务数据进行过滤,得到所述标识对应的第四业务数据;
根据所述标志对应的所述基础字段和/或所述自定义字段从所述第四业务数据中获取所述基础字段和/或所述自定义字段对应的字段数据;
根据所述字段数据和所述标识对应的数据库表创建第二SQL语句,执行所述第二SQL语句把所述字段数据保存到所述标识对应的数据库表中。
可选地,所述方法还包括以下步骤:
对多个所述标志对应的字段数据和/或多个所述标志对应的所述数据库表创建批量存储数据的第三SQL语句,执行所述第三SQL语句把所述多个所述标志对应的字段数据保存到数据库中。
可选地,所述方法还包括以下步骤:
所述Flink定期获取所述数据存储规则,然后使用最新的所述数据存储规则更新本地保存的所述数据存储规则。
可选地,所述查询所述数据库得到第三业务数据,对所述第三业务数据进行处理,包括以下步骤:
根据所述标识获取对应的所述第一SQL语句;
根据查询条件修改所述第一SQL语句,得到第四SQL语句;
执行所述第四SQL语句从所述数据库中查询所述基础字段和/或所述自定义字段对应的字段数据。
本实施例通过上述方案,设置APP埋点业务数据与ClickHouse表关联,N个埋点对象关联成一张结构表,将埋点字段与结构表的字段进行一一对应;并通过日志服务器、Flink及ClickHouse进行协同处理。从而,保障业务数据监控系统具备高并发、易扩展,同时又降低数据存储成本。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,控制器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于Flink的业务数据监控方法,其特征在于,所述方法包括以下步骤:
配置第一业务数据的数据存储规则;
Flink从日志服务器中获取所述第一业务数据,根据所述数据存储规则对所述第一业务数据进行过滤处理,得到第二业务数据;把所述第二业务数据存入数据库中;
查询所述数据库得到第三业务数据,对所述第三业务数据进行处理。
2.根据权利要求1所述的方法,其特征在于,所述配置第一业务数据的数据存储规则,包括以下步骤:
设置所述第一业务数据的标识和/或基础字段和/或自定义字段;
建立所述第一业务数据的所述标识与数据库表关联关系,N(N大于等于1)个所述第一业务数据的所述标识与1张所述数据库表建立关联关系;
根据所述基础字段和/或所述自定义字段,创建所述标识对应的所述数据库表的字段;
建立所述基础字段和/或所述自定义字段与所述数据库表的字段的关联关系。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
为从所述标识对应的所述数据库中查询所述标识对应的所述基础字段和/或所述自定义字段对应的字段数据,创建第一SQL语句;所述标识和所述第一SQL语句一一对应。
4.根据权利要求2所述的方法,其特征在于,所述Flink从日志服务器中获取所述第一业务数据,根据所述数据存储规则对所述第一业务数据进行过滤处理,得到第二业务数据;把所述第二业务数据存入数据库中,包括以下步骤:
根据所述数据存储规则中的所述第一业务数据的标识对所述第一业务数据进行过滤,得到所述标识对应的第四业务数据;
根据所述标志对应的所述基础字段和/或所述自定义字段从所述第四业务数据中获取所述基础字段和/或所述自定义字段对应的字段数据;
根据所述字段数据和所述标识对应的数据库表创建第二SQL语句,执行所述第二SQL语句把所述字段数据保存到所述标识对应的数据库表中。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括以下步骤:
对多个所述标志对应的字段数据和/或多个所述标志对应的所述数据库表创建批量存储数据的第三SQL语句,执行所述第三SQL语句把所述多个所述标志对应的字段数据保存到数据库中。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括以下步骤:
所述Flink定期获取所述数据存储规则,然后使用最新的所述数据存储规则更新本地保存的所述数据存储规则。
7.根据权利要求3所述的方法,其特征在于,所述查询所述数据库得到第三业务数据,对所述第三业务数据进行处理,包括以下步骤:
根据所述标识获取对应的所述第一SQL语句;
根据查询条件修改所述第一SQL语句,得到第四SQL语句;
执行所述第四SQL语句从所述数据库中查询所述基础字段和/或所述自定义字段对应的字段数据。
8.一种基于Flink的业务数据监控装置,其特征在于,所述装置包括:
数据配置单元,用于配置第一业务数据的数据存储规则;
数据存储单元,用于Flink从日志服务器中获取所述第一业务数据,根据所述数据存储规则对所述第一业务数据进行过滤处理,得到第二业务数据;把所述第二业务数据存入数据库中;
数据处理单元,用于查询所述数据库得到第三业务数据,对所述第三业务数据进行处理。
9.一种电子设备,其特征在于,所述电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于Flink的业务数据监控程序,所述基于Flink的业务数据监控程序配置为实现根据权利要求1至7中任一项所述基于Flink的业务数据监控方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的基于Flink的业务数据监控方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111523688.8A CN114186000A (zh) | 2021-12-14 | 2021-12-14 | 一种基于Flink的业务数据监控方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111523688.8A CN114186000A (zh) | 2021-12-14 | 2021-12-14 | 一种基于Flink的业务数据监控方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114186000A true CN114186000A (zh) | 2022-03-15 |
Family
ID=80543622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111523688.8A Pending CN114186000A (zh) | 2021-12-14 | 2021-12-14 | 一种基于Flink的业务数据监控方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114186000A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116629805A (zh) * | 2023-06-07 | 2023-08-22 | 浪潮智慧科技有限公司 | 一种分布式流批一体化的水利指标服务方法、设备及介质 |
CN117573687A (zh) * | 2024-01-12 | 2024-02-20 | 优铸科技(北京)有限公司 | 一种基于ClickHouse数据库的业务表单反写/读取方法及系统 |
-
2021
- 2021-12-14 CN CN202111523688.8A patent/CN114186000A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116629805A (zh) * | 2023-06-07 | 2023-08-22 | 浪潮智慧科技有限公司 | 一种分布式流批一体化的水利指标服务方法、设备及介质 |
CN116629805B (zh) * | 2023-06-07 | 2023-12-01 | 浪潮智慧科技有限公司 | 一种分布式流批一体化的水利指标服务方法、设备及介质 |
CN117573687A (zh) * | 2024-01-12 | 2024-02-20 | 优铸科技(北京)有限公司 | 一种基于ClickHouse数据库的业务表单反写/读取方法及系统 |
CN117573687B (zh) * | 2024-01-12 | 2024-04-12 | 优铸科技(北京)有限公司 | 一种基于ClickHouse数据库的业务表单反写/读取方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10275355B2 (en) | Method and apparatus for cleaning files in a mobile terminal and associated mobile terminal | |
CN104298760B (zh) | 一种应用于数据仓库的数据处理方法和数据处理装置 | |
US6970882B2 (en) | Unified relational database model for data mining selected model scoring results, model training results where selection is based on metadata included in mining model control table | |
CN109145047B (zh) | 用户标签画像的配置方法、数据处理装置及存储介质 | |
CN114186000A (zh) | 一种基于Flink的业务数据监控方法、装置及存储介质 | |
CN111339171B (zh) | 数据查询的方法、装置及设备 | |
CN106407302B (zh) | 支持通过简单sql调用中间件数据库特有功能的方法 | |
US11960443B2 (en) | Block data storage system in an event historian | |
KR101505858B1 (ko) | 대용량 데이터를 용이하게 분석하기 위하여 테이블 관계 및 참조의 템플릿을 검색하여 제공하는 템플릿 기반 온라인 분석보고서 작성 지원 시스템 | |
CN106503274A (zh) | 一种数据整合与搜索方法及服务器 | |
US20110078135A1 (en) | Database index monitoring system | |
CN110502692B (zh) | 基于搜索引擎的信息检索方法、装置、设备和存储介质 | |
CN112307191A (zh) | 多系统交互式日志查询方法、装置、设备及存储介质 | |
CN112764874B (zh) | 一种基于cmdb配置管理系统的虚拟机服务器信息采集方法 | |
CN107622068A (zh) | 一种基于json格式的日志管理方法及装置 | |
CN111552704A (zh) | 一种数据报表生成方法、装置、计算机设备及存储介质 | |
CN114595129A (zh) | 一种可配置的多维度数据监控方法、装置及存储介质 | |
CN112925757A (zh) | 一种追踪智能设备操作日志的方法、设备、存储介质 | |
CN114461644A (zh) | 一种数据采集方法、装置、电子设备及存储介质 | |
CN111061802B (zh) | 一种电力数据管理处理方法、装置及存储介质 | |
CN115408381A (zh) | 数据处理方法及相关设备 | |
CN110019306B (zh) | 一种基于xml格式文件的sql语句查找方法及系统 | |
CN113515564A (zh) | 基于j2ee的数据访问方法、装置、设备及存储介质 | |
CN102902741B (zh) | 一种通信网络资源数据高速缓存与状态级联更新的方法 | |
CN107291938A (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 |