CN114168624B - 数据分析方法、计算设备及存储介质 - Google Patents
数据分析方法、计算设备及存储介质 Download PDFInfo
- Publication number
- CN114168624B CN114168624B CN202111493618.2A CN202111493618A CN114168624B CN 114168624 B CN114168624 B CN 114168624B CN 202111493618 A CN202111493618 A CN 202111493618A CN 114168624 B CN114168624 B CN 114168624B
- Authority
- CN
- China
- Prior art keywords
- data
- dimension
- grouping
- dimensions
- target
- 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
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/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24539—Query rewriting; Transformation using cached or materialised query results
-
- 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/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
- G06F16/24556—Aggregation; Duplicate elimination
-
- 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/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Fuzzy Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据分析方法、计算设备及存储介质,其中,数据分析方法包括:从多个数据分组维度中选择目标分组维度;从源数据表中提取源数据,并按照目标分组维度对源数据进行离线计算,得到目标分组维度对应的离线计算结果;其中,源数据表中的源数据是通过对业务服务端产生的日志数据按照多个数据分组维度进行数据上卷而得到的实时数据;响应于包含有目标分组维度的数据分析查询请求,对目标分组维度对应的离线计算结果进行融合,得到数据查询结果。该方案利用离线计算机制得到目标分组维度对应的离线计算结果,通过融合目标分组维度对应的离线计算结果,提高了数据查询效率,降低了数据分析的资源消耗量。
Description
技术领域
本发明涉及数据分析技术领域,具体涉及一种数据分析方法、计算设备及存储介质。
背景技术
随着互联网技术的发展,业务量逐渐增多,也进一步导致业务所产生数据量也急速增大。因此,对于数据的分析处理也就提出了更高的要求,在得到有效信息的同时,还要满足数据处理的时效性要求,从而使得实时数据分析技术也相应地越来越受到重视,开发了例如Clickhouse、StarRocks等实时数据分析工具。通过实时数据分析工具能够实时地对海量数据作出一些分析和处理,并反馈相应的实时指标。然而,在利用现有的实时数据分析工具对高维度、大基数的数据进行分析和处理时,会出现内存使用过高、数据查询效率慢等问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的数据分析方法、计算设备及存储介质。
根据本发明的一个方面,提供了一种数据分析方法,包括:
从多个数据分组维度中选择目标分组维度;
从源数据表中提取源数据,并按照目标分组维度对源数据进行离线计算,得到目标分组维度对应的离线计算结果;其中,源数据表中的源数据是通过对业务服务端产生的日志数据按照多个数据分组维度进行数据上卷而得到的实时数据;
响应于包含有目标分组维度的数据分析查询请求,对目标分组维度对应的离线计算结果进行融合,得到数据查询结果。
根据本发明的另一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
存储器用于存放至少一可执行指令,可执行指令使处理器执行以下操作:
从多个数据分组维度中选择目标分组维度;
从源数据表中提取源数据,并按照目标分组维度对源数据进行离线计算,得到目标分组维度对应的离线计算结果;其中,源数据表中的源数据是通过对业务服务端产生的日志数据按照多个数据分组维度进行数据上卷而得到的实时数据;
响应于包含有目标分组维度的数据分析查询请求,对目标分组维度对应的离线计算结果进行融合,得到数据查询结果。
根据本发明实施例的又一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述数据分析方法对应的操作。
根据本发明提供的技术方案,从多个数据分组维度中选择目标分组维度,针对目标分组维度设计了相应的离线计算机制,利用离线计算机制,按照目标分组维度对源数据表中的源数据进行离线计算得到目标分组维度对应的离线计算结果,通过融合目标分组维度对应的离线计算结果,能够快速地得到数据查询结果,提高了数据查询效率,有效地减少了数据实时计算的处理量,降低了数据分析的资源消耗量,能够在较少的资源配置下实现快速的高维度、大基数的数据分析。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明实施例一的一种数据分析方法的流程示意图;
图2a示出了根据本发明实施例二的一种数据分析方法的流程示意图;
图2b示出了一种数据分析方法的流程框架示意图;
图3示出了根据本发明实施例四的一种计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
图1示出了根据本发明实施例一的一种数据分析方法的流程示意图,如图1所示,该方法包括如下步骤:
步骤S101,从多个数据分组维度中选择目标分组维度。
该方法用于对业务服务端所产生的日志数据进行分析,在分析过程中可以采用实时分析与离线分析相结合的方式对日志数据进行分析。其中,离线分析是针对指定的目标分组维度进行的。具体地,可根据数据查询端日常的数据分析查询需求,从数据分析所涉及的多个数据分组维度中选择常用的一个或多个数据分组维度作为目标分组维度,例如,可选择涉及“高维度+大基数字段分组”的数据分组维度作为目标分组维度。其中,高维度具体是指单个数据分组维度包含很多子维度,例如包含城市、展示资源、展示资源的来源渠道、客户端版本号、展示资源对应的展示位等子维度,展示资源具体可包括广告素材等;大基数具体是指在单个子维度下包含有多个项值或字段,如在城市子维度下可包含有663个具体的城市。本领域技术人员可根据实际的业务需求选择目标分组维度,此处不做限定。
步骤S102,从源数据表中提取源数据,并按照目标分组维度对源数据进行离线计算,得到目标分组维度对应的离线计算结果。
其中,源数据表中的源数据是通过对业务服务端产生的日志数据按照多个数据分组维度进行数据上卷而得到的实时数据。具体地,可利用现有的实时数据分析工具(例如Clickhouse、StarRocks等)对业务服务端产生的日志数据按照多个数据分组维度自动地进行数据上卷,从而得到源数据表。例如,源数据表具体可为Clickhouse工具通过实时分析所得到的物化视图存储表。
在选择了进行离线分析的目标分组维度之后,可获取实时数据分析工具所得到的源数据表,从源数据表中提取相关的源数据,并按照目标分组维度对源数据进行离线计算,从而得到目标分组维度对应的离线计算结果。
步骤S103,响应于包含有目标分组维度的数据分析查询请求,对目标分组维度对应的离线计算结果进行融合,得到数据查询结果。
当用户需要进行数据分析查询时,可通过数据查询端发送数据分析查询请求,其中,数据分析查询请求可包含有用户所查询的数据分组维度、数据分组维度中所包括的一个或多个子维度、数据查询时间范围信息、请求发送时间等信息。数据分析查询请求还可包括其他信息,此处不做限定。
在本实施例中,离线计算是指在接收到数据分析查询请求之前提前进行的数据分析处理,当接收到数据分析查询请求时,若该数据分析查询请求包含有目标分组维度,由于目标分组维度对应的离线计算结果已经提前计算出来了,那么即可利用目标分组维度对应的离线计算结果,快速地得到数据分析查询请求对应的数据查询结果,有效地减少数据实时计算的处理量,尤其是当涉及到对高维度、大基数的数据进行分析和处理时,通过提前进行离线计算,能够有效地降低内存使用量,并提高数据查询效率,在较少的资源配置下实现快速的高维度、大基数的数据分析。
利用本实施例提供的数据分析方法,从多个数据分组维度中选择目标分组维度,针对目标分组维度设计了相应的离线计算机制,利用离线计算机制,按照目标分组维度对源数据表中的源数据进行离线计算得到目标分组维度对应的离线计算结果,通过融合目标分组维度对应的离线计算结果,能够快速地得到数据查询结果,提高了数据查询效率,有效地减少了数据实时计算的处理量,降低了数据分析的资源消耗量,能够在较少的资源配置下实现快速的高维度、大基数的数据分析。
实施例二
图2a示出了根据本发明实施例二的一种数据分析方法的流程示意图,如图2a所示,该方法包括如下步骤:
步骤S201,从多个数据分组维度中选择目标分组维度。
为了使得所选择的目标分组维度能够更加符合日常经常使用的数据分析查询需求,可从数据查询端、业务服务端的运维人员等处收集各个数据分析查询需求信息,并确定每个数据分析查询需求信息对应的数据分组维度。例如,某个数据分析查询需求信息为分析全国各个城市在一个月内针对客户端中所展示的各个展示资源对应的UV(UniqueVisitor,独立用户)的点击量,那么该数据分析查询需求信息对应的数据分组维度可包括城市子维度、展示资源子维度以及点击量子维度;又如,某个数据分析查询需求信息为分析全国各个城市在一个月内针对客户端中各个展示位对应的UV的曝光量和盈利价值,那么该数据分析查询需求信息对应的数据分组维度可包括城市子维度、展示位子维度、曝光量子维度以及盈利价值子维度。
在确定了各个数据分析查询需求信息对应的数据分组维度之后,可通过对各个数据分析查询需求信息对应的数据分组维度进行分析,从各个数据分析查询需求信息对应的数据分组维度中选择经常被使用的至少一个数据分组维度作为目标分组维度。本领域技术人员可根据实际需求设置目标分组维度的数量,此处不做具体限定。
具体地,可对各个数据分析查询需求信息对应的数据分组维度进行统计,得到多个数据分组维度的使用频次,然后按照从高到低的顺序对多个数据分组维度的使用频次进行排列,从排列结果中选择排列靠前的预设数量的数据分组维度作为目标分组维度,从而便捷地实现了对使用频率较高的数据分组维度的筛选,以便为筛选出的使用频率较高的数据分组维度设计离线计算机制,从而有助于有效地降低数据分析的资源消耗量,并提高数据查询效率。
步骤S202,将业务服务端实时产生的日志数据发送至消息队列集群中,通过工作进程从消息队列集群中消费日志数据进行处理。
业务服务端具体为客户端对应的服务端,业务服务端每天都会产生海量的日志数据。为了缓解实时处理数据的压力,引入了消息队列集群,将业务服务端实时产生的日志数据发送至消息队列集群中。消息队列集群具体可为Kafka集群等,本领域技术人员可根据实际需要设置消息队列集群,此处不做限定。通过工作进程从消息队列集群中消费日志数据进行相应的处理。
图2b示出了一种数据分析方法的流程框架示意图,如图2b所示,消息队列集群具体可为Kafka集群,Kafka集群支持重复消费。业务服务端产生的日志数据会发送至Kafka集群,工作进程从消息队列集群中消费日志数据进行相应的处理。以选用Clickhouse工具对日志数据进行实时分析为例,工作进程具体可为Clickhouse Worker进程。考虑到有时候可能因为程序、版本升级等原因带来一些故障(bug),在本实施例中还设置有重放(datareplay)组件,当bug修复后,可通过重放组件对消息队列集群中的日志数据进行重复消费。
对于UV分析等数据分析查询需求,通常需要基于日志数据对应的用户标识进行处理,其中,用户标识具体可包括用户名、终端设备号等信息,这些用户标识通常为包含有较多字符的字符串。考虑到字符串的比较效率较为低下,在本实施例中,在将业务服务端实时产生的日志数据发送至消息队列集群中之后,可在消息队列集群读取这些日志数据的时候,就对这些日志数据对应的用户标识进行预处理,经过处理的用户标识能够有效地减少数据量,提高用户标识的比较效率。具体地,可对日志数据对应的用户标识进行哈希(Hash)运算,将日志数据对应的用户标识转换为长整型(Long)数据类型。由于长整型数据类型的数据能够较为便捷地进行压缩和去重等处理,那么通过将用户标识转换为长整型数据类型,能够有效地缩减数据处理量,进一步提高数据分析效率。
步骤S203,对处理后的日志数据进行存储,并配置驱动规则信息。
在完成对日志数据的消费之后,对处理后的日志数据进行存储。另外,为了便于进行数据上卷,还需配置驱动规则信息。其中,驱动规则信息记录有每个数据分组维度对应的数据上卷规则信息。通过驱动规则信息可知进行每个数据分组维度的数据分析时具体需要哪些数据、这些数据具体如何聚合、如何上卷以及数据上卷后最终落到哪里去等信息。
具体地,如图2b所示,可将处理后的日志数据写入至原始明细日志表中,并在物化视图驱动表中配置驱动规则信息。通过设置物化视图驱动表,能够方便地对驱动规则信息进行增删改等处理,便于进行数据迁移。
步骤S204,依据驱动规则信息,对处理后的日志数据按照多个数据分组维度进行数据上卷,得到对应的源数据,生成包含有源数据的源数据表。
针对每个数据分组维度,可依据驱动规则信息中所记录的该数据分组维度对应的数据上卷规则信息对所存储的处理后的日志数据进行数据上卷,从而得到对应的源数据。本领域技术人员可根据实际需要设置源数据所包含的具体内容,此处不做限定。
在完成多个数据分组维度的数据上卷后,最终生成包含有源数据的源数据表。以选用Clickhouse工具对日志数据进行实时分析为例,源数据表具体可为通过实时分析所得到的物化视图存储表。
步骤S205,从源数据表中提取源数据,并按照目标分组维度对源数据进行离线计算,得到目标分组维度对应的离线计算结果。
在得到了源数据表之后,可通过离线任务从源数据表中提取源数据,按照目标分组维度对源数据进行离线计算,从而得到目标分组维度对应的离线计算结果。具体地,可按照预设时间窗口从源数据表中提取对应的源数据,例如预设时间窗口可为按照天或者小时等粒度进行划分的;通常目标分组维度会包含有多个子维度,那么在提取了对应的源数据之后,可统计所提取的源数据在目标分组维度的每个子维度下对应的子维度数据,然后对多个子维度对应的子维度数据进行汇总,从而得到目标分组维度对应的离线计算结果。
具体地,如图2b所示,离线任务从源数据表中提取源数据,按照目标分组维度对源数据进行离线计算,另外,还可根据需要导入第三方提供的数据表,从而将目标分组维度的相关数据提前完成计算,得到对应的离线计算结果,离线计算结果具体可为数据应用表,将数据融合成宽表为数据查询端提供线上查询服务。
为了便于方案理解,下面结合具体应用场景进行介绍。
在一种具体的应用场景中,当某个数据分析查询需求信息为需要分析全国各个城市在一个月内针对客户端中所展示的各个展示资源对应的UV的点击量时,如果直接利用现有的实时数据分析工具对相关数据进行实时计算,由于子维度较多且基数较大,则可能会导致出现内存等资源消耗过大的情况。那么采用本实施例提供的方案,可选择包括有城市子维度、展示资源子维度以及点击量子维度的数据分组维度作为目标分组维度,利用离线任务从源数据表中提取每一天对应的源数据,而后统计每一天对应的源数据分别在城市子维度、展示资源子维度以及点击量子维度下对应的子维度数据,然后对上述多个子维度对应的子维度数据进行汇总,从而得到目标分组维度对应的离线计算结果,也就是说,通过离线计算机制,提前计算得到全国各个城市在每一天内针对客户端中所展示的各个展示资源对应的UV的点击量。可通过将全国各个城市在相应的一个月内的每一天内针对客户端中所展示的各个展示资源对应的UV的点击量的离线计算结果融合,得到数据查询结果,例如使用Clickhouse表融合,从而在很大程度上降低了Clickhouse的计算量,降低了***的内存等资源的消耗。
在另一种具体的应用场景中,当某个数据分析查询需求信息对应有多个数据分组维度,例如对应有10个数据分组维度,采用本实施例提供的方案,可将多个数据分组维度分别作为目标分组维度,即得到10个目标分组维度。通过离线任务分别计算每个目标分组维度对应的离线计算结果。通过将10个目标分组维度对应的离线计算结果输入到Clickhouse中进行融合计算,得到数据查询结果,从而在很大程度上降低了Clickhouse的计算量,降低了***的内存等资源的消耗。
可选地,在得到了目标分组维度对应的离线计算结果之后,可对目标分组维度对应的离线计算结果进行备份,例如,将目标分组维度对应的离线计算结果存储至云服务端中,如图2b所示。
步骤S206,响应于包含有目标分组维度的数据分析查询请求,对目标分组维度对应的离线计算结果进行融合,得到数据查询结果。
当用户需要进行数据分析查询时,可通过数据查询端发送数据分析查询请求。当数据分析查询请求包含有目标分组维度时,可响应于包含有目标分组维度的数据分析查询请求,通过对目标分组维度对应的离线计算结果进行融合,从而快速地得到数据查询结果,有效地减少数据实时计算的处理量,降低了***的内存等资源的消耗。
可选地,若该数据分析查询请求所涉及的数据分组维度除了包含有目标分组维度之外,还包含有多个数据分组维度中除目标分组维度之外的其他数据分组维度,则针对其他数据分组维度的数据分析可采用实时计算机制进行处理,然后将实时计算结果与离线计算结果相结合以得到最终的数据查询结果。具体地,可从源数据表中提取源数据,并按照其他数据分组维度对源数据进行实时计算,得到其他数据分组维度对应的实时计算结果,然后将目标分组维度对应的离线计算结果与其他数据分组维度对应的实时计算结果进行融合,得到数据查询结果。
可选地,若该数据分析查询请求所涉及的数据分组维度仅包括其他数据分组维度,则针对其他数据分组维度的数据分析可采用实时计算机制进行处理,具体地,可从源数据表中提取源数据,并按照其他数据分组维度对源数据进行实时计算,得到其他数据分组维度对应的实时计算结果,依据实时计算结果得到数据查询结果。
在具体应用场景中,如图2b所示,可将数据查询结果、源数据表等输出至第一数据看板进行展示,将源数据表、原始明细日志表等输出至第二数据看板进行展示。
利用本实施例提供的数据分析方法,便捷地实现了对使用频率较高的数据分组维度的筛选,为筛选出的使用频率较高的数据分组维度设计离线计算机制,利用离线计算机制,通过离线任务将筛选出的数据分组维度的相关数据提前完成计算,得到对应的离线计算结果,通过融合离线计算结果,能够快速地得到数据查询结果,有效地提高了数据查询效率,在很大程度上缩减了数据实时计算的处理量,降低了数据分析的资源消耗量,优化了数据分析方式,能够在较少的资源配置下实现快速的高维度、大基数的数据分析。
实施例三
本发明实施例三提供了一种非易失性存储介质,存储介质存储有至少一可执行指令,该可执行指令可执行上述任意方法实施例中的数据分析方法。
可执行指令具体可以用于使得处理器执行以下操作:从多个数据分组维度中选择目标分组维度;从源数据表中提取源数据,并按照目标分组维度对源数据进行离线计算,得到目标分组维度对应的离线计算结果;其中,源数据表中的源数据是通过对业务服务端产生的日志数据按照多个数据分组维度进行数据上卷而得到的实时数据;响应于包含有目标分组维度的数据分析查询请求,对目标分组维度对应的离线计算结果进行融合,得到数据查询结果。
在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:收集各个数据分析查询需求信息,确定每个数据分析查询需求信息对应的数据分组维度;从各个数据分析查询需求信息对应的数据分组维度中选择至少一个数据分组维度作为目标分组维度。
在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:对各个数据分析查询需求信息对应的数据分组维度进行统计,得到多个数据分组维度的使用频次;按照从高到低的顺序对多个数据分组维度的使用频次进行排列,从排列结果中选择排列靠前的预设数量的数据分组维度作为目标分组维度。
在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:将业务服务端实时产生的日志数据发送至消息队列集群中,通过工作进程从消息队列集群中消费日志数据进行处理;对处理后的日志数据进行存储,并配置驱动规则信息;依据驱动规则信息,对处理后的日志数据按照多个数据分组维度进行数据上卷,得到对应的源数据,生成包含有源数据的源数据表。
在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:将处理后的日志数据写入至原始明细日志表中,并在物化视图驱动表中配置驱动规则信息。
在一种可选的实施方式中,驱动规则信息记录有每个数据分组维度对应的数据上卷规则信息。
在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:对日志数据对应的用户标识进行哈希运算,将日志数据对应的用户标识转换为长整型数据类型。
在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:通过重放组件对消息队列集群中的日志数据进行重复消费。
在一种可选的实施方式中,目标分组维度包括多个子维度;可执行指令进一步使处理器执行以下操作:按照预设时间窗口从源数据表中提取对应的源数据;统计所提取的源数据在目标分组维度的每个子维度下对应的子维度数据;对多个子维度对应的子维度数据进行汇总,得到目标分组维度对应的离线计算结果。
在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:若数据分析查询请求还包含有多个数据分组维度中除目标分组维度之外的其他数据分组维度,则从源数据表中提取源数据,并按照其他数据分组维度对源数据进行实时计算,得到其他数据分组维度对应的实时计算结果;将目标分组维度对应的离线计算结果与其他数据分组维度对应的实时计算结果进行融合,得到数据查询结果。
在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:将目标分组维度对应的离线计算结果存储至云服务端中。
实施例四
图3示出了根据本发明实施例四的一种计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
如图3所示,该计算设备可以包括:处理器(processor)302、通信接口(Communications Interface)304、存储器(memory)306、以及通信总线308。
其中:
处理器302、通信接口304、以及存储器306通过通信总线308完成相互间的通信。
通信接口304,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器302,用于执行程序310,具体可以执行上述数据分析方法实施例中的相关步骤。
具体地,程序310可以包括程序代码,该程序代码包括计算机操作指令。
处理器302可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器306,用于存放程序310。存储器306可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序310具体可以用于使得处理器302执行以下操作:从多个数据分组维度中选择目标分组维度;从源数据表中提取源数据,并按照目标分组维度对源数据进行离线计算,得到目标分组维度对应的离线计算结果;其中,源数据表中的源数据是通过对业务服务端产生的日志数据按照多个数据分组维度进行数据上卷而得到的实时数据;响应于包含有目标分组维度的数据分析查询请求,对目标分组维度对应的离线计算结果进行融合,得到数据查询结果。
在一种可选的实施方式中,程序310进一步使得处理器302执行以下操作:收集各个数据分析查询需求信息,确定每个数据分析查询需求信息对应的数据分组维度;从各个数据分析查询需求信息对应的数据分组维度中选择至少一个数据分组维度作为目标分组维度。
在一种可选的实施方式中,程序310进一步使得处理器302执行以下操作:对各个数据分析查询需求信息对应的数据分组维度进行统计,得到多个数据分组维度的使用频次;按照从高到低的顺序对多个数据分组维度的使用频次进行排列,从排列结果中选择排列靠前的预设数量的数据分组维度作为目标分组维度。
在一种可选的实施方式中,程序310进一步使得处理器302执行以下操作:将业务服务端实时产生的日志数据发送至消息队列集群中,通过工作进程从消息队列集群中消费日志数据进行处理;对处理后的日志数据进行存储,并配置驱动规则信息;依据驱动规则信息,对处理后的日志数据按照多个数据分组维度进行数据上卷,得到对应的源数据,生成包含有源数据的源数据表。
在一种可选的实施方式中,程序310进一步使得处理器302执行以下操作:将处理后的日志数据写入至原始明细日志表中,并在物化视图驱动表中配置驱动规则信息。
在一种可选的实施方式中,驱动规则信息记录有每个数据分组维度对应的数据上卷规则信息。
在一种可选的实施方式中,程序310进一步使得处理器302执行以下操作:对日志数据对应的用户标识进行哈希运算,将日志数据对应的用户标识转换为长整型数据类型。
在一种可选的实施方式中,程序310进一步使得处理器302执行以下操作:通过重放组件对消息队列集群中的日志数据进行重复消费。
在一种可选的实施方式中,目标分组维度包括多个子维度;程序310进一步使得处理器302执行以下操作:按照预设时间窗口从源数据表中提取对应的源数据;统计所提取的源数据在目标分组维度的每个子维度下对应的子维度数据;对多个子维度对应的子维度数据进行汇总,得到目标分组维度对应的离线计算结果。
在一种可选的实施方式中,程序310进一步使得处理器302执行以下操作:若数据分析查询请求还包含有多个数据分组维度中除目标分组维度之外的其他数据分组维度,则从源数据表中提取源数据,并按照其他数据分组维度对源数据进行实时计算,得到其他数据分组维度对应的实时计算结果;将目标分组维度对应的离线计算结果与其他数据分组维度对应的实时计算结果进行融合,得到数据查询结果。
在一种可选的实施方式中,程序310进一步使得处理器302执行以下操作:将目标分组维度对应的离线计算结果存储至云服务端中。
程序310中各步骤的具体实现可以参见上述数据分析实施例中的相应步骤对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
通过本实施例提供的方案,针对目标分组维度设计了相应的离线计算机制,利用离线计算机制得到目标分组维度对应的离线计算结果,通过融合目标分组维度对应的离线计算结果,能够快速地得到数据查询结果,提高了数据查询效率,有效地减少了数据实时计算的处理量,降低了数据分析的资源消耗量,能够在较少的资源配置下实现快速的高维度、大基数的数据分析。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (21)
1.一种数据分析方法,包括:
从多个数据分组维度中选择目标分组维度;
从源数据表中提取源数据,并按照所述目标分组维度对所述源数据进行离线计算,得到所述目标分组维度对应的离线计算结果;其中,所述源数据表中的源数据是通过对业务服务端产生的日志数据按照多个数据分组维度进行数据上卷而得到的实时数据;
响应于包含有目标分组维度的数据分析查询请求,对所述目标分组维度对应的离线计算结果进行融合,得到数据查询结果;
其中,在所述从源数据表中提取源数据之前,所述方法还包括:
将业务服务端实时产生的日志数据发送至消息队列集群中,通过工作进程从消息队列集群中消费日志数据进行处理;
对处理后的日志数据进行存储,并配置驱动规则信息;
依据所述驱动规则信息,对处理后的日志数据按照多个数据分组维度进行数据上卷,得到对应的源数据,生成包含有所述源数据的源数据表。
2.根据权利要求1所述的方法,所述从多个数据分组维度中选择目标分组维度,包括:
收集各个数据分析查询需求信息,确定每个数据分析查询需求信息对应的数据分组维度;
从各个数据分析查询需求信息对应的数据分组维度中选择至少一个数据分组维度作为目标分组维度。
3.根据权利要求2所述的方法,所述从各个数据分析查询需求信息对应的数据分组维度中选择至少一个数据分组维度作为目标分组维度,包括:
对各个数据分析查询需求信息对应的数据分组维度进行统计,得到多个数据分组维度的使用频次;
按照从高到低的顺序对多个数据分组维度的使用频次进行排列,从排列结果中选择排列靠前的预设数量的数据分组维度作为目标分组维度。
4.根据权利要求1所述的方法,所述对处理后的日志数据进行存储,并配置驱动规则信息,包括:
将处理后的日志数据写入至原始明细日志表中,并在物化视图驱动表中配置驱动规则信息。
5.根据权利要求1所述的方法,所述驱动规则信息记录有每个数据分组维度对应的数据上卷规则信息。
6.根据权利要求1所述的方法,在所述将业务服务端实时产生的日志数据发送至消息队列集群中之后,所述方法还包括:
对所述日志数据对应的用户标识进行哈希运算,将所述日志数据对应的用户标识转换为长整型数据类型。
7.根据权利要求1所述的方法,在所述通过工作进程从消息队列集群中消费日志数据进行处理之后,所述方法还包括:
通过重放组件对所述消息队列集群中的日志数据进行重复消费。
8.根据权利要求1-7任一项所述的方法,所述目标分组维度包括多个子维度;
所述从源数据表中提取源数据,并按照所述目标分组维度对所述源数据进行离线计算,得到所述目标分组维度对应的离线计算结果,包括:
按照预设时间窗口从所述源数据表中提取对应的源数据;
统计所提取的源数据在所述目标分组维度的每个子维度下对应的子维度数据;
对多个子维度对应的子维度数据进行汇总,得到所述目标分组维度对应的离线计算结果。
9.根据权利要求1-7任一项所述的方法,所述响应于包含有目标分组维度的数据分析查询请求,对所述目标分组维度对应的离线计算结果进行融合,得到数据查询结果,包括:
若所述数据分析查询请求还包含有多个数据分组维度中除所述目标分组维度之外的其他数据分组维度,则从所述源数据表中提取源数据,并按照所述其他数据分组维度对所述源数据进行实时计算,得到所述其他数据分组维度对应的实时计算结果;
将所述目标分组维度对应的离线计算结果与所述其他数据分组维度对应的实时计算结果进行融合,得到数据查询结果。
10.根据权利要求1所述的方法,在所述得到所述目标分组维度对应的离线计算结果之后,所述方法还包括:
将所述目标分组维度对应的离线计算结果存储至云服务端中。
11.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行以下操作:
从多个数据分组维度中选择目标分组维度;
从源数据表中提取源数据,并按照所述目标分组维度对所述源数据进行离线计算,得到所述目标分组维度对应的离线计算结果;其中,所述源数据表中的源数据是通过对业务服务端产生的日志数据按照多个数据分组维度进行数据上卷而得到的实时数据;
响应于包含有目标分组维度的数据分析查询请求,对所述目标分组维度对应的离线计算结果进行融合,得到数据查询结果;
其中,所述可执行指令进一步使所述处理器执行以下操作:
将业务服务端实时产生的日志数据发送至消息队列集群中,通过工作进程从消息队列集群中消费日志数据进行处理;
对处理后的日志数据进行存储,并配置驱动规则信息;
依据所述驱动规则信息,对处理后的日志数据按照多个数据分组维度进行数据上卷,得到对应的源数据,生成包含有所述源数据的源数据表。
12.根据权利要求11所述的计算设备,所述可执行指令进一步使所述处理器执行以下操作:
收集各个数据分析查询需求信息,确定每个数据分析查询需求信息对应的数据分组维度;
从各个数据分析查询需求信息对应的数据分组维度中选择至少一个数据分组维度作为目标分组维度。
13.根据权利要求12所述的计算设备,所述可执行指令进一步使所述处理器执行以下操作:
对各个数据分析查询需求信息对应的数据分组维度进行统计,得到多个数据分组维度的使用频次;
按照从高到低的顺序对多个数据分组维度的使用频次进行排列,从排列结果中选择排列靠前的预设数量的数据分组维度作为目标分组维度。
14.根据权利要求11所述的计算设备,所述可执行指令进一步使所述处理器执行以下操作:
将处理后的日志数据写入至原始明细日志表中,并在物化视图驱动表中配置驱动规则信息。
15.根据权利要求11所述的计算设备,所述驱动规则信息记录有每个数据分组维度对应的数据上卷规则信息。
16.根据权利要求11所述的计算设备,所述可执行指令进一步使所述处理器执行以下操作:
对所述日志数据对应的用户标识进行哈希运算,将所述日志数据对应的用户标识转换为长整型数据类型。
17.根据权利要求11所述的计算设备,所述可执行指令进一步使所述处理器执行以下操作:
通过重放组件对所述消息队列集群中的日志数据进行重复消费。
18.根据权利要求11-17任一项所述的计算设备,所述目标分组维度包括多个子维度;
所述可执行指令进一步使所述处理器执行以下操作:
按照预设时间窗口从所述源数据表中提取对应的源数据;
统计所提取的源数据在所述目标分组维度的每个子维度下对应的子维度数据;
对多个子维度对应的子维度数据进行汇总,得到所述目标分组维度对应的离线计算结果。
19.根据权利要求11-17任一项所述的计算设备,所述可执行指令进一步使所述处理器执行以下操作:
若所述数据分析查询请求还包含有多个数据分组维度中除所述目标分组维度之外的其他数据分组维度,则从所述源数据表中提取源数据,并按照所述其他数据分组维度对所述源数据进行实时计算,得到所述其他数据分组维度对应的实时计算结果;
将所述目标分组维度对应的离线计算结果与所述其他数据分组维度对应的实时计算结果进行融合,得到数据查询结果。
20.根据权利要求11所述的计算设备,所述可执行指令进一步使所述处理器执行以下操作:
将所述目标分组维度对应的离线计算结果存储至云服务端中。
21.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-10中任一项所述的数据分析方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111493618.2A CN114168624B (zh) | 2021-12-08 | 2021-12-08 | 数据分析方法、计算设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111493618.2A CN114168624B (zh) | 2021-12-08 | 2021-12-08 | 数据分析方法、计算设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114168624A CN114168624A (zh) | 2022-03-11 |
CN114168624B true CN114168624B (zh) | 2022-09-20 |
Family
ID=80484455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111493618.2A Active CN114168624B (zh) | 2021-12-08 | 2021-12-08 | 数据分析方法、计算设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114168624B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114780584B (zh) * | 2022-06-22 | 2022-09-02 | 云账户技术(天津)有限公司 | 多场景流式数据处理方法、***、网络设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104794221A (zh) * | 2015-04-29 | 2015-07-22 | 苏州国云数据科技有限公司 | 一种基于业务对象的多维数据分析*** |
CN105260452A (zh) * | 2015-10-12 | 2016-01-20 | 成都视达科信息技术有限公司 | 离线日志收集查询和分析***及方法 |
CN106570081A (zh) * | 2016-10-18 | 2017-04-19 | 同济大学 | 基于语义网的大规模离线数据分析框架 |
CN107122431A (zh) * | 2017-04-14 | 2017-09-01 | 浙江数链科技有限公司 | 一种实时计算平台及基于实时计算平台的数据计算方法 |
CN107357812A (zh) * | 2017-05-31 | 2017-11-17 | 阿里巴巴集团控股有限公司 | 一种数据查询方法及装置 |
CN111209258A (zh) * | 2019-12-31 | 2020-05-29 | 航天信息股份有限公司 | 税务端***日志实时分析方法、设备、介质及*** |
CN113407617A (zh) * | 2021-06-25 | 2021-09-17 | 交控科技股份有限公司 | 基于大数据技术的实时与离线业务统一处理方法和装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050165733A1 (en) * | 2004-01-14 | 2005-07-28 | Biq, Llc | System and method for an in-memory roll up-on-the-fly OLAP engine with a relational backing store |
US10585892B2 (en) * | 2014-07-10 | 2020-03-10 | Oracle International Corporation | Hierarchical dimension analysis in multi-dimensional pivot grids |
CN107992495B (zh) * | 2016-10-26 | 2021-01-26 | 腾讯科技(深圳)有限公司 | 高维数据集的数据可视化分析方法及装置 |
CN108052513A (zh) * | 2017-09-07 | 2018-05-18 | 中国石油化工股份有限公司 | 油田开发指标数据立方体可视化设计方法和装置 |
CN108985981B (zh) * | 2018-06-28 | 2021-04-23 | 北京奇虎科技有限公司 | 数据处理***及方法 |
CN109753531A (zh) * | 2018-12-26 | 2019-05-14 | 深圳市麦谷科技有限公司 | 一种大数据统计方法、***、计算机设备及存储介质 |
CN110457320A (zh) * | 2019-08-06 | 2019-11-15 | 深圳萨摩耶互联网金融服务有限公司 | 数据的实时存储方法与装置、存储介质及计算机设备 |
CN111159135A (zh) * | 2019-12-23 | 2020-05-15 | 五八有限公司 | 数据处理方法、装置、电子设备及存储介质 |
-
2021
- 2021-12-08 CN CN202111493618.2A patent/CN114168624B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104794221A (zh) * | 2015-04-29 | 2015-07-22 | 苏州国云数据科技有限公司 | 一种基于业务对象的多维数据分析*** |
CN105260452A (zh) * | 2015-10-12 | 2016-01-20 | 成都视达科信息技术有限公司 | 离线日志收集查询和分析***及方法 |
CN106570081A (zh) * | 2016-10-18 | 2017-04-19 | 同济大学 | 基于语义网的大规模离线数据分析框架 |
CN107122431A (zh) * | 2017-04-14 | 2017-09-01 | 浙江数链科技有限公司 | 一种实时计算平台及基于实时计算平台的数据计算方法 |
CN107357812A (zh) * | 2017-05-31 | 2017-11-17 | 阿里巴巴集团控股有限公司 | 一种数据查询方法及装置 |
CN111209258A (zh) * | 2019-12-31 | 2020-05-29 | 航天信息股份有限公司 | 税务端***日志实时分析方法、设备、介质及*** |
CN113407617A (zh) * | 2021-06-25 | 2021-09-17 | 交控科技股份有限公司 | 基于大数据技术的实时与离线业务统一处理方法和装置 |
Non-Patent Citations (2)
Title |
---|
Real-Time On-Board Recognition of Continuous Locomotion Modes for Amputees With Robotic Transtibial Prostheses;Dongfang Xu et al.;《 IEEE Transactions on Neural Systems and Rehabilitation Engineering》;20180917;2015-2025 * |
百度外卖大数据精细化调度***研究;梁福坤;《中国优秀硕士学位论文全文数据库 信息科技辑》;20190215;I138-1000 * |
Also Published As
Publication number | Publication date |
---|---|
CN114168624A (zh) | 2022-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110909063B (zh) | 一种用户行为的分析方法、装置、应用服务器及存储介质 | |
CN111143286B (zh) | 一种云平台日志管理方法及*** | |
US10116534B2 (en) | Systems and methods for WebSphere MQ performance metrics analysis | |
CN111339073A (zh) | 实时数据处理方法、装置、电子设备及可读存储介质 | |
CN111209310B (zh) | 基于流计算的业务数据处理方法、装置和计算机设备 | |
CN104536965B (zh) | 一种大数据条件下的数据查询展示***及方法 | |
US10963888B2 (en) | Payment complaint method, device, server and readable storage medium | |
US20170337568A1 (en) | Data processing method, system and computer device based on electronic payment behaviors | |
CN106815254A (zh) | 一种数据处理方法和装置 | |
CN110825731A (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN107451227A (zh) | 分页查询方法及装置 | |
CN101976394A (zh) | 数据采集和统计***及方法 | |
CN114168624B (zh) | 数据分析方法、计算设备及存储介质 | |
CN112307004B (zh) | 数据治理方法、装置、设备及存储介质 | |
CN113010542B (zh) | 业务数据处理方法、装置、计算机设备及存储介质 | |
CN113918532A (zh) | 画像标签聚合方法、电子设备及存储介质 | |
CN106789277B (zh) | 基于状态机模型的用户行为确定方法及装置 | |
EP4209933A1 (en) | Data processing method and apparatus, and electronic device and storage medium | |
CN110471730A (zh) | 基于Echarts的展示方法、***、大屏***和介质 | |
CN115293685A (zh) | 物流订单的状态跟踪方法、装置、设备和存储介质 | |
CN115237940A (zh) | 一种数据查询方法、装置和设备 | |
CN114047999A (zh) | 页面配置的方法、***、电子设备和存储介质 | |
CN113641301A (zh) | 一种数据管理方法及装置 | |
US20160154684A1 (en) | Data processing system and data processing method | |
US10580021B2 (en) | Product offering analytics |
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 |