CN114969083A - 一种实时数据分析方法及系统 - Google Patents
一种实时数据分析方法及系统 Download PDFInfo
- Publication number
- CN114969083A CN114969083A CN202210723928.7A CN202210723928A CN114969083A CN 114969083 A CN114969083 A CN 114969083A CN 202210723928 A CN202210723928 A CN 202210723928A CN 114969083 A CN114969083 A CN 114969083A
- Authority
- CN
- China
- Prior art keywords
- table structure
- real
- log
- current table
- logs
- 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
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000007405 data analysis Methods 0.000 title claims abstract description 20
- 230000004048 modification Effects 0.000 claims abstract description 17
- 238000012986 modification Methods 0.000 claims abstract description 17
- 238000012545 processing Methods 0.000 claims description 55
- 238000007726 management method Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 10
- 238000010223 real-time analysis Methods 0.000 claims description 9
- 230000002159 abnormal effect Effects 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 230000002085 persistent effect Effects 0.000 claims description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 12
- 238000004458 analytical method Methods 0.000 description 5
- 238000004140 cleaning Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000013480 data collection Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013075 data extraction Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 241000533950 Leucojum Species 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
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/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2336—Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
- G06F16/2343—Locking methods, e.g. distributed locking or locking implementation details
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- 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/2282—Tablespace storage structures; 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/25—Integrating or interfacing systems involving database management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种实时数据分析方法及系统,方法包括:获取日志的当前表结构;基于日志的现有表结构对所述当前表结构进行判断,判断是否存在新增字段;根据所述当前表结构存在新增字段的条件,获取分布式锁,并根据分布式锁的节点,利用存储端API完成现有表结构的修改。本申请中,根据日志的当前表结构,结合日志的现有表结构对当前表结构进行新增字段的判断,并根据基于当前表结构存在新增字段,获取分布式锁,利用获取到分布式锁的节点,通过存储端API完成现有表结构的新增字段修改,从而完成表结构的自适应修改。
Description
技术领域
本申请涉及数据查询技术领域,特别涉及一种实时数据分析方法、系统和计算机可读存储介质。
背景技术
实时分析系统是一个集数据采集、存储、分析和决策调优于一体的数据分析系统。但是,现有的实时分析系统无法自适应数据结构变更,使用户使用实时分析系统的过程中,不能够高效、快速的完成实时数据的分析。
因此,如何解决上述问题成为本领域技术人员亟待解决的技术问题。
发明内容
本发明的目的是提供一种实时数据分析方法、系统和计算机可读存储介质。
为解决上述问题,本发明的第一方面提供了一种实时数据分析方法,包括:
获取日志的当前表结构;
基于日志的现有表结构对所述当前表结构进行判断,判断是否存在新增字段;
根据所述当前表结构存在新增字段的条件,获取分布式锁,并根据分布式锁的节点,利用存储端API完成现有表结构的修改。
一些实施例中,还包括:
通过元数据配置平台配置用户配置,利用Flink处理引擎基于用户配置对日志进行选择性接收。
一些实施例中,所述利用Flink处理引擎基于用户配置对日志进行选择性接收,包括:
Flink处理引擎自定义数据源,利用数据源从RDB数据库中读取用户配置;
数据源将读取到的用户配置广播至Flink处理引擎的各任务管理平台;
各任务管理平台根据广播的用户配置逐行判断当前日志;其中,任务管理平台根据用户配置对日志进行选择性接收。
一些实施例中,通过数据级别配置平台配置事件级别配置,Flink处理引擎基于事件级别配置对日志进行分级存储。
一些实施例中,所述通过数据级别配置平台配置事件级别配置,包括:
配置数据级别配置平台,并将事件级别配置持久化至RDB数据库。
一些实施例中,所述Flink处理引擎基于事件级别配置对日志进行分级存储,包括:
Flink处理引擎的转换算子包括RichMapFunction和 CheckpointFunction;其中,RichMapFunction用于在实时分析系统启动时初始化资源;利用CheckpointFunction完成事件级别配置的定时更新;
Flink处理引擎逐行处理日志,并根据更新的事件级别配置,将不同级别的日志进行分级存储。
一些实施例中,所述分级存储包括将日志输出至不同侧输出流,输出流包括用于存储实时日志的实时存储引擎,和用于存储非实时日志的非实时存储引擎;其中,实时存储引擎包括KUDU,非实时存储引擎包括OBS。
一些实施例中,Flink处理引擎逐行处理日志,并根据更新的事件级别配置,及根据每日存储在Redis中的实时日志条数超出阈值时,将超出的实时日志存储至非实存储引擎OBS。
一些实施例中,根据Flink处理引擎的指标收集上报平台实时上报任务执行状态指标至数据库;
通过Grafana读取数据库中的任务执行状态指标,并根据读取的任务执行状态指标完成数据流状态展示及异常告警。
根据本发明的另一个方面,提供了一种实时数据分析系统,包括:
获取模块,获取日志的当前表结构;
判断模块,基于日志的现有表结构对所述当前表结构进行判断,判断是否存在新增字段;
修改模块,根据所述当前表结构存在新增字段的条件,获取分布式锁,并根据分布式锁的节点,利用存储端API完成现有表结构的修改。
根据本发明的又一方面,提供了一种计算机可读存储介质,其中,该指令被处理器执行时实现上述任意一项所述方法的步骤。
本发明的上述技术方案具有如下有益的技术效果:
本申请中,获取日志的当前表结构;基于日志的现有表结构对所述当前表结构进行判断,判断是否存在新增字段;根据所述当前表结构存在新增字段的条件,获取分布式锁,并根据分布式锁的节点,利用存储端API完成现有表结构的修改。本申请中,根据日志的当前表结构,结合日志的现有表结构对当前表结构进行新增字段的判断,并根据基于当前表结构存在新增字段,获取分布式锁,利用获取到分布式锁的节点,通过存储端API完成现有表结构的新增字段修改,从而完成表结构的自适应修改。
附图说明
图1是根据本发明第一实施方式的的计算设备的结构框图;
图2是根据本发明第一实施方式的实时数据分析方法流程图;
图3是根据本发明第一实施方式的实时数据分析系统结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“响应于确定”。
现有的实时分析系统使用过程中,存在如下问题:1、无法自适应数据结构变更;2、系统的实时性及吞吐量存在矛盾;3、任务状态无法监控。因此严重影响用户的使用体验。
如何客服上述缺陷成为本领域亟待解决的问题。
图1示出了根据本申请一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器 110通过总线130相连接,数据库150用于保存数据。
计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网 (PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN) 无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线 (USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本申请的一个实施例中,计算设备100的上述部件以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备100还可以是移动式或静止式的服务器。
其中,处理器120可以执行图2所示的实时数据分析方法中的步骤。图 2示出了根据本申请一实施例的实时数据分析方法的流程图,包括步骤101 至步骤106。
本申请的技术方案基于上述技术问题的缺陷而提出,包括:
参考图2,本申请提供了一种实时数据分析方法,包括:
S101、将日志采集至消息队列;
进一步,日志包括打点日志,打点日志经通过Filebeat->Logstash-> Kafka数据采集平台采集至Kafka的消息队列。其中,本案例中采用Filebeat 做为Logstash的数据输入,Kafka做为Logstash的数据输出。
打点日志是用于数据统计的日志,通常前端具有执行打点的方法,而后端也会有类似需求。实现打点日志的方法包括通过日志模版或日志框架API。通过日志模版增加一种类型的打点日志,则替换模版中的占位符,重新生成一遍日志的配置文件,之后热更新日志配置。使用日志框架API,不借助配置文件,直接通过编码的方式生成打点日志。
Filebeat用于监控指定的日志文件或目录,收集日志事件。进一步, Filebeat是go语言写的,是一个轻量的日志采集工具,由于是二进制可执行文件,因此不需要JVM也能运行,可以满足日志收集的需求。
Logstash是一个开源的数据收集引擎,它具有备实时数据传输能力。它可以统一过滤来自不同源的数据,并按照开发者的制定的规范输出到目的地。本申请中Logstash将打点日志输出到Kafka。
kafka是一个分布式的流处理平台,在流处理中,通常使用他作为一个消息系统来使用,kafka是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统。
本申请中,Filebeat->Logstash->Kafka形成的数据采集平台中,可以显著减少连接kafka的线程数,且对机器的配置要求不高,还能够节省磁盘的使用空间。进一步,Filebeat为一种轻量化的日志采集工具,可显著降低数据采集平台的大小。再进一步,使用kafka作为消息系统,一方面,可显著提升扩展性,即可以通过增加broker的方式水平扩展kafka集群;二方面,显著提升持久性和可靠性,即消息被持久化到本地磁盘,并且支持数据备份防止数据丢失;三方面,具有高容错性,即最大限度的容灾,允许集群中节点失败,包括主节点;四方面,具有高并发的特点。
由kafka采集至消息队列的日志中,可能来源不同或格式不同,针对该问题,本申请进行了如下处理:
S103、对消息队列内的日志进行清洗;
进一步,日志包括打点日志;借助实时数据处理框架Flink完成打点日志的清洗。采用实时流式处理引擎Flink实时消费采集至kafka消息队列的打点日志,并结合日志格式规范(根据具体需求制定)逐条判断校验日志格式,完成日志的清洗,以过滤异常日志。其中,通过Kafka完成ODS层数据清洗和DWD层维度扩展等。
Flink是一个框架和分布式处理引擎,用于对数据流进行状态计算。 Flink被设计为在所有常见的集群环境中运行,以内存中的速度和任何规模执行计算。
本申请中,通过对日志进行清洗,可以过滤掉不需要的日志,包括格式不匹配的日志。
S102、获取日志的当前表结构;
利用Flink处理引擎实时消费清洗后的日志。包括利用Flink处理引擎中的转换类算子对日志进行逐行处理,以获取日志的当前表结构;其中,转换类算子包括map的富函数RichMapFunction。
本申请中,利用map的富函数RichMapFunction对日志进行处理,可以获取运行环境的上下文,在上下文环境中可以管理状态(State),并拥有一些生命周期方法,可以实现更复杂的功能,因此可以在实时分析系统启动时,初始化缓存。
S104、基于日志的现有表结构对当前表结构进行判断,判断是否存在新增字段;
一些实施例中,采用多级缓存存储日志的现有表结构,多级缓存包括(内存+Redis)缓存,并对照现有表结构逐行判断当前表结构是否存在新增字段。采用多级缓存存储日志的现有表结构,可避免并发量太高,导致直接请求数据库。
S106、根据当前表结构存在新增字段的条件,获取分布式锁,并根据分布式锁的节点,利用存储端API完成现有表结构的修改。
分布式锁包括zookeeper,本申请中根据获取分布式锁的节点,以利用存储端API完成现有表结构的新增字段修改,可避免分布式任务同时修改表结构。其中,利用分布式锁的互斥性特点用于控制某一时刻修改表结构的进程数。存储端API包括但不限于HiveMetaStoreClient和KuduClient等。
本申请中,通过Flink处理引擎实时消费清洗后的日志,以动态解析出日志的当前表结构,结合日志的现有表结构对当前表结构进行新增字段的判断,并根据基于当前表结构存在新增字段,获取分布式锁,利用获取到分布式锁的节点,通过存储端API完成现有表结构的新增字段修改,从而完成表结构的自适应修改。
一些实施例中,通过Flink处理引擎实时消费清洗后的日志,以获取日志的当前表结构,通过日志的当前表结构与维度数据的匹配,以补全每条日志的日志信息。
维度数据根据数据量大小选择广播或热缓存等形式以提供访问功能,以访问日志的当前表结构;维度数据用于与日志进行匹配,以补全日志信息。其中,补全内容包括但不限于IP的地区解析和项目信息等日志信息。
本申请中,通过利用Flink处理引擎实时消费清洗后的日志,以获取日志的当前表结构,通过日志的当前表结构与维度数据的匹配,以补全每条日志的信息,从而完成了对日志数据的横向扩展。
配置用户配置,利用Flink处理引擎根据用户配置对日志进行选择性接收。
通过元数据配置平台配置用户配置,Flink处理引擎基于用户配置对日志进行接收。其中,日志包括补全信息的日志。
具体地,基于元数据配置平台将用户配置持久化至数据库,Flink处理引擎基于用户配置对日志进行选择性接收;其中,用户配置中定义了Flink 处理引擎对日志进行选择性接收的内容。
具体地,在实时分析系统中配置元数据配置平台,并将用户配置持久化至RDB数据库。
RDB数据库为一种关系数据库,其存储并提供访问被彼此相关的数据点。关系型数据库是表格式的,数据存储在表的行和列中。很容易关联协作存储,且提取数据很方便。另一方面,关系型数据库对应的是结构化数据,数据表都预先定义了结构(列的定义),结构描述了数据的形式和内容。因此,本申请利用RDB数据库存储用户配置可以提供快速的访问,方便Flink处理引擎读取用户配置。
进一步,Flink处理引擎自定义数据源(Source),利用数据源从RDB数据库中读取用户配置。
数据源将读取到的用户配置广播至Flink处理引擎的各任务管理平台(TaskManager);
各任务管理平台(TaskManager)根据广播的用户配置逐行判断当前日志;其中,任务管理平台根据用户配置对日志进行选择性接收。
本申请中,Flink处理引擎的各任务管理平台(TaskManager)根据广播的用户配置逐行判断日志是否接收,可有效的筛选需要关注的日志,从而提升日志接收的准确率。
基于事件级别配置对任务管理平台接收的日志进行分级存储。
进一步,通过数据级别配置平台配置事件级别配置,基于事件级别配置对日志进行分级存储。
具体地,基于数据级别配置平台将事件级别配置持久化至数据库,Flink 处理引擎基于事件级别配置对日志进行分级存储;其中,事件级别配置中定义了Flink处理引擎对日志的分级存储内容。
具体地,配置数据级别配置平台,并将事件级别配置持久化至RDB数据库。
RDB数据库为一种关系数据库,其存储并提供访问被彼此相关的数据点。关系型数据库是表格式的,数据存储在表的行和列中。很容易关联协作存储,且提取数据很方便。另一方面,关系型数据库对应的是结构化数据,数据表都预先定义了结构(列的定义),结构描述了数据的形式和内容。因此,本申请利用RDB数据库存储事件级别配置可以提供快速的访问,方便Flink处理引擎读取事件级别配置。
一些实施例中,利用Flink处理引擎转换类算子完成数据级别配置更新。 Flink处理引擎的转换算子包括RichMapFunction和CheckpointFunction;其中,RichMapFunction用于在实时分析系统启动时初始化资源;利用CheckpointFunction完成事件级别配置的定期更新。
进一步,Flink处理引擎逐行处理日志,并根据更新的事件级别配置,将不同级别的日志进行分级存储;分级存储包括将日志输出至不同侧输出流,输出流包括用于存储实时日志的实时存储引擎,和用于存储非实时日志的非实时存储引擎。
一些实施例中,实时存储引擎包括KUDU,非实时存储引擎包括OBS。
Kudu是一种存储引擎,可以同时提供低延迟的随机读写和高效的数据分析能力。它是一个融合HDFS和HBase的功能的新组件,具备介于两者之间的新存储组件。具有适用于高吞吐量的离线大数据分析场景和大数据随机读写场景的特点。
OBS为对象存储服务(Object Storage Service,简称OBS)是一个基于对象的海量存储服务,提供海量、安全、高可靠、低成本的数据存储能力。
本申请中,借助于Kudu的低延迟等特性,将实时日志使用KUDU存储,以借助数据写入即可查询的特性保证实时性;借助于OBS的海量存储能力,将非实时日志写入OBS,从而保证分析方法的吞吐量。
一些实施例中,Flink处理引擎逐行处理日志,并根据更新的事件级别配置,及根据每日存储在Redis中的实时日志条数超出阈值时,将超出的实时日志存储至非实存储引擎OBS。
本申请中,一方面,根据每日存储在Redis中的实时日志条数超出阈值时,将超出的实时日志存储至非实存储引擎OBS,可保证Redis存储引擎中具有足够的存储空间,从而保证分析方法的日志查询的实时性和吞吐量。
一些实施例中,使用雪花算法为每一条日志生成唯一ID,利用KUDU主键对日志进行去重处理,保证日志的幂等性。
一些实施例中,上报Flink处理引擎的任务执行状态指标至数据库,基于读取的任务执行状态指标进行状态指示及异常告警。
进一步,根据Flink处理引擎的指标收集上报平台实时上报任务执行状态指标至数据库;任务执行状态指标包括CPU、内存、线程、JVM、网络、IO、GC以及任务运行组件(JM、TM、Slot、作业、算子)等相关指标;
其中,自定义Flink处理引擎的的指标收集上报平台(Flink metrics reporter),利用指标收集上报平台上报任务执行状态指标至数据库。
Metrics可以在Flink内部收集指标,通过这些指标让开发人员更好地理解作业或集群的状态。因此可以利用Metrics收集Flink内部的实际状况,例如引擎的运行速度,或是否存在异常等。reporter支持了将指标数据写入 InfluxDB,以用于用户根据可视化系统读InfluxDB中的数据并进行可视化。
通过Grafana读取InfluxDB中的任务执行状态指标,并根据读取的任务执行状态指标完成数据流状态展示及异常告警。
本申请中,通过根据Flink处理引擎的指标收集上报平台对任务执行状态指标的实时监控,可对Flink处理引擎的处理流程进行数据流的全链路异常告警和状态展示。
一些实施例中,根据EU模型构建实时数仓(数据仓库),借助OLAP引擎进行实时数据分析,满足用户各类分析需求。
参考图3,本申请提供了一种实时数据分析系统,包括:
获取模块,获取日志的当前表结构;
判断模块,基于日志的现有表结构对所述当前表结构进行判断,判断是否存在新增字段;
修改模块,根据所述当前表结构存在新增字段的条件,获取分布式锁,并根据分布式锁的节点,利用存储端API完成现有表结构的修改。
本申请中,获取模块用于获取的日志的当前表结构;判断模块结合日志的现有表结构对当前表结构进行新增字段的判断;修改模块根据基于当前表结构存在新增字段,获取分布式锁,利用获取到分布式锁的节点,通过存储端API完成现有表结构的新增字段修改,从而完成表结构的自适应修改。
根据本发明的又一方面,提供了一种计算机可读存储介质,其中,该指令被处理器执行时实现上述任意一项所述方法的步骤。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的一种用于保证企业登录凭证安全的方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述一种用于保证企业登录凭证安全的方法的技术方案的描述。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
计算机指令包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据管辖区内立法和专利实践的要求进行适当的增减,例如在某些管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。
Claims (10)
1.一种实时数据分析方法,其特征在于,包括:
获取日志的当前表结构;
基于日志的现有表结构对所述当前表结构进行判断,判断是否存在新增字段;
根据所述当前表结构存在新增字段的条件,获取分布式锁,并根据分布式锁的节点,利用存储端API完成现有表结构的修改。
2.根据权利要求1所述的方法,其特征在于,还包括:
通过元数据配置平台配置用户配置,利用Flink处理引擎基于用户配置对日志进行选择性接收。
3.根据权利要求2所述的方法,其特征在于,所述利用Flink处理引擎基于用户配置对日志进行选择性接收,包括:
Flink处理引擎自定义数据源,利用数据源从RDB数据库中读取用户配置;
数据源将读取到的用户配置广播至Flink处理引擎的各任务管理平台;
各任务管理平台根据广播的用户配置逐行判断当前日志;其中,任务管理平台根据用户配置对日志进行选择性接收。
4.根据权利要求1所述的方法,其特征在于,
通过数据级别配置平台配置事件级别配置,Flink处理引擎基于事件级别配置对日志进行分级存储。
5.根据权利要求4所述的方法,其特征在于,所述通过数据级别配置平台配置事件级别配置,包括:
配置数据级别配置平台,并将事件级别配置持久化至RDB数据库。
6.根据权利要求4所述的方法,其特征在于,所述Flink处理引擎基于事件级别配置对日志进行分级存储,包括:
Flink处理引擎的转换算子包括RichMapFunction和CheckpointFunction;其中,RichMapFunction用于在实时分析系统启动时初始化资源;利用CheckpointFunction完成事件级别配置的定时更新;
Flink处理引擎逐行处理日志,并根据更新的事件级别配置,将不同级别的日志进行分级存储。
7.根据权利要求6所述的方法,其特征在于,
所述分级存储包括将日志输出至不同侧输出流,输出流包括用于存储实时日志的实时存储引擎,和用于存储非实时日志的非实时存储引擎;其中,实时存储引擎包括KUDU,非实时存储引擎包括OBS。
8.根据权利要求7所述的方法,其特征在于,
Flink处理引擎逐行处理日志,并根据更新的事件级别配置,及根据每日存储在Redis中的实时日志条数超出阈值时,将超出的实时日志存储至非实存储引擎OBS。
9.根据权利要求1所述的方法,其特征在于,
根据Flink处理引擎的指标收集上报平台实时上报任务执行状态指标至数据库;
通过Grafana读取数据库中的任务执行状态指标,并根据读取的任务执行状态指标完成数据流状态展示及异常告警。
10.一种实时数据分析系统,其特征在于,包括:
获取模块,获取日志的当前表结构;
判断模块,基于日志的现有表结构对所述当前表结构进行判断,判断是否存在新增字段;
修改模块,根据所述当前表结构存在新增字段的条件,获取分布式锁,并根据分布式锁的节点,利用存储端API完成现有表结构的修改。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210723928.7A CN114969083A (zh) | 2022-06-24 | 2022-06-24 | 一种实时数据分析方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210723928.7A CN114969083A (zh) | 2022-06-24 | 2022-06-24 | 一种实时数据分析方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114969083A true CN114969083A (zh) | 2022-08-30 |
Family
ID=82966054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210723928.7A Pending CN114969083A (zh) | 2022-06-24 | 2022-06-24 | 一种实时数据分析方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114969083A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117135181A (zh) * | 2023-08-15 | 2023-11-28 | 三一重型装备有限公司 | 一种综采设备的数据传输方法、装置及电子设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110196760A (zh) * | 2018-07-12 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 分布式事务一致性实现方法及装置 |
CN111209258A (zh) * | 2019-12-31 | 2020-05-29 | 航天信息股份有限公司 | 税务端系统日志实时分析方法、设备、介质及系统 |
CN112100147A (zh) * | 2020-07-27 | 2020-12-18 | 杭州玳数科技有限公司 | 基于Flink实现Binlog到HIVE的实时采集方法和系统 |
CN112100227A (zh) * | 2020-09-22 | 2020-12-18 | 国网辽宁省电力有限公司电力科学研究院 | 一种基于多级异构数据存储的大数据处理方法 |
CN112187407A (zh) * | 2020-09-25 | 2021-01-05 | 中国移动通信集团黑龙江有限公司 | 实时信令消息处理方法、装置、设备及计算机存储介质 |
CN113157545A (zh) * | 2021-05-20 | 2021-07-23 | 京东方科技集团股份有限公司 | 业务日志的处理方法、装置、设备及存储介质 |
CN113297173A (zh) * | 2021-05-24 | 2021-08-24 | 阿里巴巴新加坡控股有限公司 | 分布式数据库集群管理方法及装置、电子设备 |
CN113326238A (zh) * | 2021-06-25 | 2021-08-31 | 深信服科技股份有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN113342564A (zh) * | 2021-06-25 | 2021-09-03 | 阿波罗智联(北京)科技有限公司 | 日志审计方法、装置、电子设备和介质 |
CN113420026A (zh) * | 2021-06-22 | 2021-09-21 | 康键信息技术(深圳)有限公司 | 数据库表结构变更方法、装置、设备及存储介质 |
-
2022
- 2022-06-24 CN CN202210723928.7A patent/CN114969083A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110196760A (zh) * | 2018-07-12 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 分布式事务一致性实现方法及装置 |
CN111209258A (zh) * | 2019-12-31 | 2020-05-29 | 航天信息股份有限公司 | 税务端系统日志实时分析方法、设备、介质及系统 |
CN112100147A (zh) * | 2020-07-27 | 2020-12-18 | 杭州玳数科技有限公司 | 基于Flink实现Binlog到HIVE的实时采集方法和系统 |
CN112100227A (zh) * | 2020-09-22 | 2020-12-18 | 国网辽宁省电力有限公司电力科学研究院 | 一种基于多级异构数据存储的大数据处理方法 |
CN112187407A (zh) * | 2020-09-25 | 2021-01-05 | 中国移动通信集团黑龙江有限公司 | 实时信令消息处理方法、装置、设备及计算机存储介质 |
CN113157545A (zh) * | 2021-05-20 | 2021-07-23 | 京东方科技集团股份有限公司 | 业务日志的处理方法、装置、设备及存储介质 |
CN113297173A (zh) * | 2021-05-24 | 2021-08-24 | 阿里巴巴新加坡控股有限公司 | 分布式数据库集群管理方法及装置、电子设备 |
CN113420026A (zh) * | 2021-06-22 | 2021-09-21 | 康键信息技术(深圳)有限公司 | 数据库表结构变更方法、装置、设备及存储介质 |
CN113326238A (zh) * | 2021-06-25 | 2021-08-31 | 深信服科技股份有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN113342564A (zh) * | 2021-06-25 | 2021-09-03 | 阿波罗智联(北京)科技有限公司 | 日志审计方法、装置、电子设备和介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117135181A (zh) * | 2023-08-15 | 2023-11-28 | 三一重型装备有限公司 | 一种综采设备的数据传输方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109684352B (zh) | 数据分析系统、方法、存储介质及电子设备 | |
US10447772B2 (en) | Managed function execution for processing data streams in real time | |
CN109918349B (zh) | 日志处理方法、装置、存储介质和电子装置 | |
CN113227998A (zh) | 全面支持自主json文档对象(ajd)云服务的技术 | |
CN111339175B (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN111339073A (zh) | 实时数据处理方法、装置、电子设备及可读存储介质 | |
US10311045B2 (en) | Aggregation/evaluation of heterogenic time series data | |
US10642530B2 (en) | Global occupancy aggregator for global garbage collection scheduling | |
CN108768790A (zh) | 分布式搜索集群监控方法及装置、计算设备、存储介质 | |
CN112835966A (zh) | 数据查询方法、装置以及电子设备 | |
CN114969083A (zh) | 一种实时数据分析方法及系统 | |
CN115801563A (zh) | 集群日志动态采集的方法及应用 | |
CN112906373A (zh) | 告警计算方法、装置、电子设备及存储介质 | |
CN117076426A (zh) | 基于流批一体化的交通智能引擎系统构建方法及装置 | |
CN115168389A (zh) | 请求处理方法以及装置 | |
CN114567633A (zh) | 一种支撑多栈数据库全生命周期的云平台系统及管理方法 | |
CN108363761A (zh) | Hadoop awr自动负载分析信息库、分析方法及存储介质 | |
US20180232458A1 (en) | Storing parseable entity combinations | |
CN113760836A (zh) | 一种宽表计算方法和装置 | |
CN117914891A (zh) | 用于城市运管服平台的多源异构数据共享交换系统及方法 | |
Fredriksen | Database Management Systems in Smart Cities: Requirements for IoT and Time-Series Data | |
CN116167556A (zh) | 作业监控方法及装置、系统、设备、计算机可读存储介质 | |
CN111209270A (zh) | 一种基于MapReduce技术的集群监控原始数据抽样计算和存储方法 | |
CN114254051A (zh) | 一种大数据计算方法、装置及大数据平台 | |
CN116541482A (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 |